unittest.TestResult().wasSuccessful()
时间: 2024-04-28 22:21:32 浏览: 100
`unittest.TestResult().wasSuccessful()` 是 `unittest` 中的一个方法,它用于判断一个测试结果是否成功。返回值是一个布尔值,如果所有测试用例都执行成功,则返回 `True`,否则返回 `False`。
在上面的代码中,我们使用 `unittest.TestResult()` 创建了一个测试结果对象,然后调用 `wasSuccessful()` 方法来获取测试结果是否成功。由于我们在测试用例中使用了断言来判断测试结果,所以 `wasSuccessful()` 方法会自动判断测试结果是否成功。
相关问题
@unittest.skipIf(test01_connect.result != unittest.TestResult().wasSuccessful(),"skip because last case failed") AttributeError: 'function' object has no attribute 'result'
这个错误是因为 `test01_connect` 是一个函数,不是一个 `unittest.TestCase` 对象,所以没有 `result` 属性。
如果你想在一个测试用例中判断上一个测试用例是否通过,可以使用 `self._outcome.result` 来获取上一个测试用例的执行结果。具体代码如下:
``` python
import unittest
class MyTestCase(unittest.TestCase):
def test_case1(self):
self.assertEqual(1+1, 2)
def test_case2(self):
self.assertEqual(2+2, 3)
def test_case3(self):
self.assertEqual(3+3, 6)
def test_case4(self):
last_result = self._outcome.result
if not last_result.wasSuccessful():
self.skipTest("skip because last test case failed")
self.assertEqual(4+4, 8)
```
在上面的代码中,我们在 `test_case4` 中使用了 `self._outcome.result` 来获取上一个测试用例的执行结果。然后判断上一个测试用例是否成功,如果失败了,则跳过当前测试用例。
unittest.TestResult()
### 回答1:
`unittest.TestResult()`是unittest模块中的一个类,用于存储测试结果。你可以使用它来运行测试套件并获取测试结果,具体方法是使用测试套件的`run()`方法并将结果传递给`TestResult`实例。例如:
```
import unittest
# 定义测试用例
class MyTestCase(unittest.TestCase):
def test_something(self):
self.assertEqual(1 + 1, 2)
# 定义测试套件
suite = unittest.TestSuite()
suite.addTest(MyTestCase('test_something'))
# 运行测试套件并获取测试结果
result = unittest.TestResult()
suite.run(result)
# 输出测试结果
print(result.wasSuccessful())
print(result.errors)
print(result.failures)
```
在上面的例子中,我们首先定义了一个测试用例`MyTestCase`,并将其添加到测试套件中。然后,我们创建了一个`TestResult`实例`result`,并使用测试套件的`run()`方法运行测试并将结果传递给`result`。最后,我们输出了测试结果,包括测试是否成功、错误信息和失败信息等。
### 回答2:
unittest.TestResult()是Python中的一个模块,用于保存和汇总测试结果的类。
该类是unittest模块中的一个重要组成部分,用于存储测试用例的执行结果。它可以记录测试用例的通过与否、错误信息、失败信息、运行时间等相关信息,并提供一些方法来操作和查看测试结果。
TestResult类有以下几个主要的属性和方法:
1. testsRun属性:表示已经运行的测试用例的数量。
2. errors属性:表示测试过程中发生的错误,以一个列表形式存储。
3. failures属性:表示测试过程中的失败,也以一个列表形式存储。
4. addSuccess(test)方法:用于将一个测试用例标记为通过。
5. addError(test, err)方法:用于将一个测试用例标记为错误,err参数表示错误的信息。
6. addFailure(test, err)方法:用于将一个测试用例标记为失败,err参数表示失败的信息。
通过使用unittest.TestResult(),我们可以方便地统计和查看测试结果,包括测试通过的数量、失败的数量、错误的数量,并可以获取具体的错误和失败信息,进而进行相关的处理和分析。
### 回答3:
unittest.TestResult()是Python标准库unittest中的一个类,用于保存单个测试用例执行的结果。
在unittest中,每个测试用例的执行会生成一个TestResult对象,用于记录该用例的执行状态、执行时间、错误信息等。
TestResult对象具有以下一些常用的方法和属性:
- addSuccess(test):添加一个成功的测试用例。
- addFailure(test, err):添加一个执行失败的测试用例,并记录对应的错误信息。
- addError(test, err):添加一个发生错误的测试用例,并记录对应的错误信息。
- startTest(test):开始执行一个测试用例,记录该用例的执行时间。
- stopTest(test):停止执行一个测试用例,记录该用例的执行时间。
TestResult对象还包含一些属性,如:
- errors:记录所有发生错误的测试用例的详细信息。
- failures:记录所有执行失败的测试用例的详细信息。
- successes:记录所有执行成功的测试用例的详细信息。
通过使用TestResult对象,我们可以方便地获取每个测试用例的执行状态和执行结果,从而进行后续的处理或判断。
总之,unittest.TestResult()是unittest框架中用于保存测试用例执行结果的类,提供了丰富的方法和属性,方便对测试用例的执行结果进行处理和管理。
阅读全文