#!/usr/bin/env python
#coding=utf-8
import unittest
class TestNone1 (unittest.TestCase):
def testOne(self):
self.assertEqual(1, 1)
def testTwo(self):
self.assert_(2 == 2)
def testThree(self):
self.assertFalse(3 != 3)
if __name__ == "__main__":
unittest.main()
unittest. Тесты пустоты.
Первый модуль: TestNone1.py
Код:
Второй модуль: TestNone2.py
Код:
#!/usr/bin/env python
#coding=utf-8
import unittest
class TestNone2 (unittest.TestCase):
def testOne(self):
self.assertAlmostEqual(1.0001, 1.0002, 2)
def testTwo(self):
self.assertRaises(ZeroDivisionError, lambda: 1 / 0)
def testThree(self):
pass
class TestNone3 (unittest.TestCase):
def test(self):
self.assertNotAlmostEqual(3, 33)
def setUp(self):
print "...\nTestNone3.setUp\n..."
def tearDown(self):
print "...\nTestNone3.tearDown\n..."
if __name__ == "__main__":
unittest.main()
#coding=utf-8
import unittest
class TestNone2 (unittest.TestCase):
def testOne(self):
self.assertAlmostEqual(1.0001, 1.0002, 2)
def testTwo(self):
self.assertRaises(ZeroDivisionError, lambda: 1 / 0)
def testThree(self):
pass
class TestNone3 (unittest.TestCase):
def test(self):
self.assertNotAlmostEqual(3, 33)
def setUp(self):
print "...\nTestNone3.setUp\n..."
def tearDown(self):
print "...\nTestNone3.tearDown\n..."
if __name__ == "__main__":
unittest.main()
Ну и объединяем все тесты: MainTest.py
Код:
#!/usr/bin/env python
#coding=utf-8
import unittest
def suite():
suite = unittest.TestSuite()
loadTests = unittest.defaultTestLoader.loadTestsFromModule
import TestNone1
suite.addTest(loadTests(TestNone1))
# альтернатива:
suite.addTest(loadTests(__import__("TestNone2")))
return suite
if __name__ == "__main__":
unittest.TextTestRunner(verbosity = 2).run(suite())
#raw_input()
#coding=utf-8
import unittest
def suite():
suite = unittest.TestSuite()
loadTests = unittest.defaultTestLoader.loadTestsFromModule
import TestNone1
suite.addTest(loadTests(TestNone1))
# альтернатива:
suite.addTest(loadTests(__import__("TestNone2")))
return suite
if __name__ == "__main__":
unittest.TextTestRunner(verbosity = 2).run(suite())
#raw_input()
Ну вот, теперь можно модули тестировать отдельно и вместе. Кроме того, MainTest.py содержит функцию, которая возвращает весь набор тестов. То есть, этот файл можно легко объединить с другими тестирующими модулями.
Принимается критика и вопросы :)