i want to write code for unit test to test my application code. I have different methods and now want to test these methods one by one in python script. but i do not how to i write. can any one give me example of small code for unit testing in python. i am thankful
+6
A:
Read the unit testing framework section of the Python Library Reference.
A basic example from the documentation:
import random
import unittest
class TestSequenceFunctions(unittest.TestCase):
def setUp(self):
self.seq = range(10)
def testshuffle(self):
# make sure the shuffled sequence does not lose any elements
random.shuffle(self.seq)
self.seq.sort()
self.assertEqual(self.seq, range(10))
def testchoice(self):
element = random.choice(self.seq)
self.assert_(element in self.seq)
def testsample(self):
self.assertRaises(ValueError, random.sample, self.seq, 20)
for element in random.sample(self.seq, 5):
self.assert_(element in self.seq)
if __name__ == '__main__':
unittest.main()
xsl
2008-10-20 09:48:11
+1
A:
Here's an example and you might want to read a little more on pythons unit testing.
Fabian Buch
2008-10-20 09:49:29
+3
A:
It's probably best to start off with the given unittest
example. Some standard best practices:
- put all your tests in a
tests
folder at the root of your project. - write one test module for each python module you're testing.
- test modules should start with the word
test
. - test methods should start with the word
test
.
When you've become comfortable with unittest
(and it shouldn't take long), there are some nice extensions to it that will make life easier as your tests grow in number and scope:
- nose -- easily find and run all your tests, and more.
- testoob -- colorized output (and more, but that's why I use it).
- pythoscope -- haven't tried it, but this will automatically generate (failing) test stubs for your application. Should save a lot of time writing boilerplate code.
David Eyk
2008-10-20 13:46:52