10: Test Case Design using Given-When-Then from BDD

31/01/2016 20 min Episodio 10
10: Test Case Design using Given-When-Then from BDD

Listen "10: Test Case Design using Given-When-Then from BDD"

Episode Synopsis


Given-When-Then is borrowed from BDD and is my favorite structure for test case design.

It doesn’t matter if you are using pytest, unittest, nose, or something completely different, this episode will help you write better tests.


The Given-When-Then structure for test method/function development.
How and why to utilize fixtures for your given or precondition code.
Similarities with other structure discriptions.


Setup-Test-Teardown
Setup-Excercise-Verify-Teardown.
Arrange-Act-Assert
Preconditions-Trigger-Postconditions.

Benefits


Communicate the purpose of your test more clearly
Focus your thinking while writing the test
Make test writing faster
Make it easier to re-use parts of your test
Highlight the assumptions you are making about the test preconditions
Highlight what outcomes you are expecting and testing against.



Links discussed in the show:


Mechanics of pytest, unittest, nose
unittest fixture reference
nose fixture reference
pytest fixtures (series of posts starting here)
pytest style fixtures
pytest parameterized fixtures