我有,我想在一个测试套件一起运行两个测试用例(两个不同的文件)。 我能得到的测试只是通过运行蟒蛇“正常”,但是当我选择运行一个Python单元测试它说0运行测试运行。 现在我只是想获得至少一个测试correectly运行。
import usertest
import configtest # first test
import unittest # second test
testSuite = unittest.TestSuite()
testResult = unittest.TestResult()
confTest = configtest.ConfigTestCase()
testSuite.addTest(configtest.suite())
test = testSuite.run(testResult)
print testResult.testsRun # prints 1 if run "normally"
这里的设置我的测试案例的一个例子
class ConfigTestCase(unittest.TestCase):
def setUp(self):
##set up code
def runTest(self):
#runs test
def suite():
"""
Gather all the tests from this module in a test suite.
"""
test_suite = unittest.TestSuite()
test_suite.addTest(unittest.makeSuite(ConfigTestCase))
return test_suite
if __name__ == "__main__":
#So you can run tests from this module individually.
unittest.main()
我有什么做的正确得到这个工作?
要使用testsuit。 所以,你不必叫unittest.main()。 testsuit使用应该是这样的:
#import usertest
#import configtest # first test
import unittest # second test
class ConfigTestCase(unittest.TestCase):
def setUp(self):
print 'stp'
##set up code
def runTest(self):
#runs test
print 'stp'
def suite():
"""
Gather all the tests from this module in a test suite.
"""
test_suite = unittest.TestSuite()
test_suite.addTest(unittest.makeSuite(ConfigTestCase))
return test_suite
mySuit=suite()
runner=unittest.TextTestRunner()
runner.run(mySuit)
所有的代码来创建一个装载机和套房是不必要的。 让他们通过使用你喜欢的测试运行测试发现可运行的,你应该写你的测试。 这只是意味着命名标准方式你的方法,把它们放在一个导入的地方(或通过含有它们亚军的文件夹),并继承unittest.TestCase
。 你这样做之后,你可以使用python -m unittest discover
在最简单的,或一个更好的第三方亚军发现,然后运行测试。
我假设你指的是运行针对它整合了两个测试模块中的python-单元测试。 如果你创建测试用例该模块即会工作。 继承unittest.TestCase
并具有简单的测试以单词“测试”开始。
如
class testall(unittest.TestCase):
def test_all(self):
testSuite = unittest.TestSuite()
testResult = unittest.TestResult()
confTest = configtest.ConfigTestCase()
testSuite.addTest(configtest.suite())
test = testSuite.run(testResult)
print testResult.testsRun # prints 1 if run "normally"
if __name__ == "__main__":
unittest.main()
如果你想手动收集TestCase
S,这是非常有用的: unittest.loader.findTestCases()
# Given a module, M, with tests:
mySuite = unittest.loader.findTestCases(M)
runner = unittest.TextTestRunner()
runner.run(mySuit)