FIT for Developing Software: Tests Involving the Date and Time

Testing time/date-specific functions can be complicated. Unfortunately, because of this, many companies don't bother testing these functions. This chapter will help you understand why testing these functions is critical, and how you can go about getting it done.

This chapter is from the book

Our group continues to evolve the rental tests from the previous chapter, finding that it's good to use a common SetUp while avoiding unnecessary interactions between tests. The group finds that it's easy, after all, to write tests that depend on the date and time.

When tackling business transactions, the group makes such transactions explicit in the tests. Finally, the group develops sad-path tests, which check when things go wrong.

Programmers

The fixture code for the tests in this chapter is given in Chapters 33 and 34.

15.1 Introduction

On Thursday, Emily, Don, and Sarah continued with the tests. Emily suggested that they start with deposits: "That seems simple and would be a good warmup before tackling date and time." Don agrees: "I'm not sure how to test when the system is affected by the date and time."

In the past, they hadn't automated time-based tests. "Doing the tests manually is no fun either," said Don, "as a test can't be completed until the right time has elapsed. Lots of careful checks are needed, which is time consuming. So after changes to RentEz, the tests were often not done and then often not as well as they could be."