Writing unit tests
From Simson Garfinkel
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Information on writing unit tests, from the Internet:
Key Concepts
- Smallest testable unit
- Test Cases
- Test Discovery
- Test Coverage
- Test Driven Development / Test First Programming / Test First Development
- Turning bugs into test cases
- Integration Testing / Test on commit
General Guidance
- When you write a function, immediately write the test. (Or, better, write the test before you write the function).
- If function A creates a data object and then calls function B, which does something to the data object and then calls function C, it may be difficult to generate a test for each function. This may indicate that you should refactor your program. For example, you may wish to create a new class, AA, which has different methods for different data functions. You can then write tests for each of these methods.
Testing Python with py.test
- Use pytest for Python unit tests. It's the best developed test framework, and widely supported.
- Introduction to pytest, by Brian Okken, who wrote the book "Python Testing with pytest"
- Brian Okken's python testing blog and podcast
- 2005 article on Python unit testing with py.test
- Tutorial on fixtures and unit-testing with semaphore
- TutorialsPoint on pytest
- StackOverflow questions on py.test