gpt4 book ai didi

python - 使用 Uniitest.TestResult.wasSuccessful() 来检查测试是否通过

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:19 26 4
gpt4 key购买 nike

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

我正在尝试探索Unittest.TestResult.wasSuccessful(),但即使测试已通过,它也会返回“True”。这是示例和输出。由于我的 test_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)

输出:

import unittest setup 30

Failure Expected :'FO' Actual :'FOO'

Traceback (most recent call last): File"C:\Users\a4tech\Documents\WorkSpace\Vanilla_Python.git\Kiran_Test\SampleUnitTest.py",line 19, in test_addNumbersself.assertEqual('fo'.upper(), 'FOO') AssertionError: 'FO' != 'FOO'

True

tearDown

setup

40

True

tearDown

最佳答案

A TestResult instance is returned by the TestRunner.run() method for this purpose

(可在 https://docs.python.org/2/library/unittest.html#unittest.TestResult 中找到)。

所以你应该将代码中的最后一行更改为

test_result = unittest.TextTestRunner(verbosity=1).run(suite)

然后评估test_result。那么它的值是

<unittest.runner.TextTestResult run=2 errors=0 failures=1>

关于python - 使用 Uniitest.TestResult.wasSuccessful() 来检查测试是否通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40375842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com