Difference between revisions of "Writing unit tests"

From Simson Garfinkel
Jump to navigationJump to search
m
Line 1: Line 1:
Information on writing unit tests, from the Internet:
Information on writing unit tests, from the Internet:


== Key Concepts ==
* Smallest testable unit
* Test Discovery
* Test Coverage
* Test on commit
* Test cases
* Turning bugs into test cases




Line 14: Line 21:
* [http://agiletesting.blogspot.com/2005/01/python-unit-testing-part-3-pytest-tool.html 2005 article on Python unit testing with py.test]
* [http://agiletesting.blogspot.com/2005/01/python-unit-testing-part-3-pytest-tool.html 2005 article on Python unit testing with py.test]
* [https://semaphoreci.com/community/tutorials/testing-python-applications-with-pytest Tutorial on fixtures and unit-testing with semaphore]
* [https://semaphoreci.com/community/tutorials/testing-python-applications-with-pytest Tutorial on fixtures and unit-testing with semaphore]
* [https://www.tutorialspoint.com/unittest_framework/unittest_framework_py_test_module.htm TutorialsPoint on pytest]


== Other collateral ==
== Other collateral ==
* [https://www.toptal.com/qa/how-to-write-testable-code-and-why-it-matters Excellent article on Toptal about writing unit tests],
* [https://www.toptal.com/qa/how-to-write-testable-code-and-why-it-matters Excellent article on Toptal about writing unit tests],

Revision as of 09:04, 25 April 2018

Information on writing unit tests, from the Internet:

Key Concepts

  • Smallest testable unit
  • Test Discovery
  • Test Coverage
  • Test on commit
  • Test cases
  • Turning bugs into test cases


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


Other collateral