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

About This Episode

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: