I am a big fan of Python, and I am a big fan of TDD (Test Driven Development). The problem that I face for team development was that it is quite difficult to communicate the testing results to the team, because the results are in terminal so only us and God know :D
Fortunately, somebody out there know my problem and create this amazing HTMLTestRunner.py. This tool is very handy and very easy to use. It almost feels like you don't need to do anything. OK, here's one example on how we use HTMLTestRunner. Ah, forget it. Download HTMLTestRunner.py from this website, and put somewhere in your computer. Say in this example, I put in ~/Downloads/HTMLTestRunner folder
import unittest
import sys
_path = r"Downloads/HTMLTestRunner"
sys.path.append(_path)
import HTMLTestRunner
class TestDemo(unittest.TestCase):
def testA(self):
assert True
def testB(self):
assert False
class TestDemo2(unittest.TestCase):
def testC(self):
assert True
def testD(self):
assert True
def suite():
suite = unittest.TestSuite()
# TestDemo
suite.addTest(TestDemo('testA'))
suite.addTest(TestDemo('testB'))
# TestDemo2
suite.addTest(TestDemo2('testC'))
suite.addTest(TestDemo2('testD'))
return suite
if __name__ == "__main__":
suite = suite()
unittest.TextTestRunner(verbosity=2)
output = open("results.html", 'w')
runner = HTMLTestRunner.HTMLTestRunner(stream=output, title='Test Report', description='This is a test')
runner.run(suite)
After you run it, boom... you will get a beautiful and informative report in html file. Here is the results in my example:
Fortunately, somebody out there know my problem and create this amazing HTMLTestRunner.py. This tool is very handy and very easy to use. It almost feels like you don't need to do anything. OK, here's one example on how we use HTMLTestRunner. Ah, forget it. Download HTMLTestRunner.py from this website, and put somewhere in your computer. Say in this example, I put in ~/Downloads/HTMLTestRunner folder
import unittest
import sys
_path = r"Downloads/HTMLTestRunner"
sys.path.append(_path)
import HTMLTestRunner
class TestDemo(unittest.TestCase):
def testA(self):
assert True
def testB(self):
assert False
class TestDemo2(unittest.TestCase):
def testC(self):
assert True
def testD(self):
assert True
def suite():
suite = unittest.TestSuite()
# TestDemo
suite.addTest(TestDemo('testA'))
suite.addTest(TestDemo('testB'))
# TestDemo2
suite.addTest(TestDemo2('testC'))
suite.addTest(TestDemo2('testD'))
return suite
if __name__ == "__main__":
suite = suite()
unittest.TextTestRunner(verbosity=2)
output = open("results.html", 'w')
runner = HTMLTestRunner.HTMLTestRunner(stream=output, title='Test Report', description='This is a test')
runner.run(suite)
After you run it, boom... you will get a beautiful and informative report in html file. Here is the results in my example:
Comments