- cat
- echo
- date
- sleep
- mkdir
- grep
- find
- cp
- tail
- ls
- md5
- ps
- gzip / gunzip
- tar
- telnet
- diff
- curl / wget
- White male between 20 and 40
- Has some experience programming in python
- No/Little experience in writing unit tests
- Finds it hard to write good tests
- Has heard about TDD, would like to learn more about it
- Ask them to submit unit tests to github
- Group activities :
- Concept map on what is TDD
- Find test names in pairs
-
TDD Cycle
-
Write a failing test
-
Make it pass
-
Refactor
-
the py.test library
-
def test_
-
fixtures
-
capsys
-
tmpdir
-
project/directory structure
-
running the tests
-
TDD Pairing
-
Ping / pong
-
Make test pass / Write failing test
- Installation and setup
- Introductions
- Objectives
- Ask experience level
- Horror story
- Environment setup
- virtualenv
- pip install requirements.txt
- py.test
- TDD Demonstration
- TODO: Find simple use case for demonstration
- running tests
- First sprint
- test scenario : cat
- Review
- Lunch
- Second sprint
- test scenario : date
- Review
- Third sprint
- test scenario : ls
- review
- Fourth sprint
- test scenario : tail
- Review
- Fourth sprint
- test scenario : grep
- review
J'ai apporté quelques propositions de modifications ici:
https://gist.github.com/soravux/11072670
Je propose de déplacer ls et cat dans intermediate à cause de la gestion de tampon est nécessaire (lecture de fichier). ls peut également devenir très fancy en utilisant stat() (affichage de données par colonnes) pour les plus expérimentés.
Il va falloir que je regarde la disponibilité des virtualenv sur les ordinateurs du laboratoire, sinon on ne pourra pas utiliser pip install...