Python 如果测试通过或未通过,则使用Uniitest.TestResult.wasSuccessful()来chqke
在PythonUnitTest框架中,我们希望在每个测试用例之后进行一些检查。如果成功与否,如果不成功,我们想采取一些行动 我试图探索Python 如果测试通过或未通过,则使用Uniitest.TestResult.wasSuccessful()来chqke,python,python-unittest,Python,Python Unittest,在PythonUnitTest框架中,我们希望在每个测试用例之后进行一些检查。如果成功与否,如果不成功,我们想采取一些行动 我试图探索Unittest.TestResult.wassuctiful(),但即使测试通过,它也会返回“True”。下面是示例和输出。由于my测试\u addNumbers失败,它应该返回False import unittest class SampleClass(unittest.TestCase): result = unittest.TestResult(
Unittest.TestResult.wassuctiful()
,但即使测试通过,它也会返回“True”。下面是示例和输出。由于my测试\u addNumbers
失败,它应该返回False
import unittest
class SampleClass(unittest.TestCase):
result = unittest.TestResult()
def setUp(self):
print 'setup'
def tearDown(self):
print self.result.wasSuccessful()
print 'tearDown'
def test_addNumbers(self):
a = 10
b = 20
c = a + b
print c
self.assertEqual('fo'.upper(), 'FOO')
def test_addNumbers_new(self):
p = 20
q = 20
r = p + q
print r
return r
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(SampleClass)
unittest.TextTestRunner(verbosity=1).run(suite)
输出:
导入单元测试设置30
预期失败:'FO'实际:'FOO'
回溯(最近一次调用上次):文件
“C:\Users\a4tech\Documents\WorkSpace\Vanilla\u Python.git\Kiran\u Test\SampleUnitTest.py”,
第19行,在测试_addnumber中
self.assertEqual('fo'.upper(),'FOO')断言错误:“fo'!=”富
正确
拆卸
设置
四十
正确
拆卸
TestResult实例由的TestRunner.run()方法返回
这个目的
(发现于)
因此,您应该将代码中的最后一行更改为
test_result = unittest.TextTestRunner(verbosity=1).run(suite)
然后评估测试结果
。那么它的价值是什么呢
<unittest.runner.TextTestResult run=2 errors=0 failures=1>
您的程序不会输出“真…拆卸…设置…40…真…拆卸”。这一成果来自何方?@Humbalan thaks发表评论。它实际上是一个控制台输出。请参考代码中的“打印”语句