Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果测试通过或未通过,则使用Uniitest.TestResult.wasSuccessful()来chqke_Python_Python Unittest - Fatal编程技术网

Python 如果测试通过或未通过,则使用Uniitest.TestResult.wasSuccessful()来chqke

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(

在PythonUnitTest框架中,我们希望在每个测试用例之后进行一些检查。如果成功与否,如果不成功,我们想采取一些行动

我试图探索
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发表评论。它实际上是一个控制台输出。请参考代码中的“打印”语句