Test & Code

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


Listen Later

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
        • ...more
          View all episodesView all episodes
          Download on the App Store

          Test & CodeBy Brian Okken

          • 4.7
          • 4.7
          • 4.7
          • 4.7
          • 4.7

          4.7

          70 ratings


          More shows like Test & Code

          View all
          Radiolab by WNYC Studios

          Radiolab

          44,015 Listeners

          Software Engineering Daily by Software Engineering Daily

          Software Engineering Daily

          625 Listeners

          Heavy Networking by Packet Pushers

          Heavy Networking

          328 Listeners

          Talk Python To Me by Michael Kennedy

          Talk Python To Me

          589 Listeners

          Python Bytes by Michael Kennedy and Brian Okken

          Python Bytes

          214 Listeners

          Darknet Diaries by Jack Rhysider

          Darknet Diaries

          8,010 Listeners

          The Real Python Podcast by Real Python

          The Real Python Podcast

          141 Listeners

          Unexplainable by Vox

          Unexplainable

          2,283 Listeners

          Network Automation Nerds by Packet Pushers

          Network Automation Nerds

          3 Listeners