1693
Comment: simple code demonstrating basic unit tests
|
1718
|
Deletions are marked like this. | Additions are marked like this. |
Line 12: | Line 12: |
Line 15: | Line 14: |
Line 16: | Line 16: |
def setUp(s): """ Called before every single test case. """ s.foo = Foo() s.file = open( "blah", "r" ) def tearDown(s): """ Called after every single test case. """ s.file.close() def testA(s): """test case A; note that all test method names must begin with 'test.'""" |
def setUp(self): """Call before every test case.""" self.foo = Foo() self.file = open( "blah", "r" ) def tearDown(self): """Call after every test case.""" self.file.close() def testA(self): """Test case A. note that all test method names must begin with 'test.'""" |
Line 30: | Line 29: |
def testB(s): | def testB(self): |
Line 33: | Line 33: |
def testC(s): | def testC(self): |
Line 37: | Line 38: |
Line 38: | Line 40: |
def setUp(s): | def setUp(self): |
Line 40: | Line 43: |
def tearDown(s): | def tearDown(self): |
Line 42: | Line 46: |
def testBlah(s): assert s.blahblah == "blah", "blah isn't blahing blahing correctly" |
def testBlah(self): assert self.blahblah == "blah", "blah isn't blahing blahing correctly" |
Line 56: | Line 62: |
Alternative: * PyTest |
PyUnit
PyUnit is an easy way to create unit testing programs with Python.
Basic Example
Here's a basic example, making use of standard PyUnit conventions.
1 import unittest
2 from foobarbaz import Foo # code from module you're testing
3
4
5 class SimpleTestCase(unittest.TestCase):
6
7 def setUp(self):
8 """Call before every test case."""
9 self.foo = Foo()
10 self.file = open( "blah", "r" )
11
12 def tearDown(self):
13 """Call after every test case."""
14 self.file.close()
15
16 def testA(self):
17 """Test case A. note that all test method names must begin with 'test.'"""
18 assert foo.bar() == 543, "bar() not calculating values correctly"
19
20 def testB(self):
21 """test case B"""
22 assert foo+foo == 34, "can't add Foo instances"
23
24 def testC(self):
25 """test case C"""
26 assert foo.baz() == "blah", "baz() not returning blah correctly"
27
28
29 class OtherTestCase(unittest.TestCase):
30
31 def setUp(self):
32 blah_blah_blah()
33
34 def tearDown(self):
35 blah_blah_blah()
36
37 def testBlah(self):
38 assert self.blahblah == "blah", "blah isn't blahing blahing correctly"
39
40
41 if __name__ == "__main__":
42 unittest.main() # run all tests
For more details, see [http://pyunit.sourceforge.net/pyunit.html the PyUnit manual.]
See Also
[http://pyunit.sourceforge.net SourceForge.net PyUnit site]
[http://pyunit.sourceforge.net/pyunit.html#USING Using Section of the PyUnit manual]
[http://www.diveintopython.org/toc/index.html Dive into Python] chapter on unit testing with PyUnit
Alternative:
Discussion
- (none yet!)