Category: testing
Python hosting: Host, run, and code Python in the cloud!
Python Unit Testing
If you build a car, you will build a lot of sub components such as the engine, the wheels, the brakes and so on. All these components have requirements.
Without testing, we wouldn’t know if a car would drive after putting the components together.

Software is similar, it consists of different components. We can test all of the components before putting the whole software package together.
Software quality is no better than the quality of the least tested component.
Unit Testing – unittest module
The module unittest is a complete unit testing framework.
Lets define a simple function:
def valuePlusOne(x): return x+1 |
Then we can test it using the assertEquals method:
import unittest def valuePlusOne(x): return x+1 class Tests(unittest.TestCase): def test(self): self.assertEqual( valuePlusOne(2), 3) def test_neg(self): self.assertEqual( valuePlusOne(-1),0) if __name__ == '__main__': unittest.main() |
Running the program will show:
---------------------------------------------------------------------- Ran 2 tests in 0.000s OK |
Unit Testing – py.test
An alternative to the unittest module is pytest.
Install using:
pip install pytest |
Create a simple program like:
def valuePlusOne(x): return x+1 def test_value(): assert( valuePlusOne(2) == 3) |

Lets make a test fail, change the code to:
def valuePlusOne(x): return x+2 def test_value(): assert( valuePlusOne(2) == 3) |

Testing modules
There are several other unit testing modules: Nose, Tox, unittest2 and unittest.mock.