分别运行first_TestCase
和second_TestCase
一切正常。
但是当我创建TestSuite时,它只运行first_TestCase
。为什么会这样?
import unittest
from first_TestCase import first_TestCase
from second_TestCase import second_TestCase
def suite():
suite = unittest.TestSuite()
suite.addTest(first_TestCase())
suite.addTest(second_TestCase())
return suite
if __name__ == "__main__":
suite = unittest.defaultTestLoader.loadTestsFromTestCase(first_TestCase)
unittest.TextTestRunner().run(suite)
答案 0 :(得分:1)
你在说:
if __name__ == "__main__":
suite = unittest.defaultTestLoader.loadTestsFromTestCase(first_TestCase)
unittest.TextTestRunner().run(suite)
您在通过first_TestCase
运行之前仅从TextTestRunner
加载测试。你永远不会去那个suite()函数。
你应该这样做:
if __name__ == "__main__":
unittest.TextTestRunner().run(suite())
因为你没有在当前的实现中调用suite()函数。
答案 1 :(得分:0)
而不是:
if __name__ == "__main__":
suite = unittest.defaultTestLoader.loadTestsFromTestCase(first_TestCase)
unittest.TextTestRunner().run(suite)
我应该使用:
if __name__ == "__main__":
unittest.main()