python unittest学习4---跳过测试与预计的失败

当需要跳过某个测试用例或者某个测试类或者预期失败的测试用例,可以使用如下方法,这样就不会导致测试报告结果的失败

import unittest
import sys

class TestStringMethods(unittest.TestCase):
    @unittest.skipUnless(sys.platform.startswith("os"), "requires Windows")
    def test_upper(self):
        self.assertEqual("foo".upper(), "FOO")
    @unittest.skip("showing class skipping")
    def test_isupper(self):
        self.assertTrue("FOO".isupper())
        self.assertFalse("Foo".isupper())
    def test_split(self):
        s="hello world"
        self.assertEqual(s.split(),["hello","world"])

if __name__=="__main__":
unittest.main()

此时运行的结果为:

s.s
----------------------------------------------------------------------
Ran 3 tests in 0.001s

OK (skipped=2)

同样也可以跳过某个测试类:如下:

import unittest
@unittest.skip("showing class skipping")
class TestStringMethods(unittest.TestCase):
    def test_upper(self):
        self.assertEqual("foo".upper(), "FOO")
    def test_isupper(self):
        self.assertTrue("FOO".isupper())
        self.assertFalse("Foo".isupper())
    def test_split(self):
        s="hello world"
        self.assertEqual(s.split(),["hello","world"])

if __name__=="__main__":
unittest.main()

运行的结果为:

sss
----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK (skipped=3)

备注:

@unittest.skip(reason)
跳过被此装饰器装饰的测试。 reason 为测试被跳过的原因。
@unittest.skipIf(conditionreason)
当 condition 为真时,跳过被装饰的测试。
@unittest.skipUnless(conditionreason)
跳过被装饰的测试,除非 condition 为真。
@unittest.expectedFailure
把测试标记为预计失败。如果测试不通过,会被认为测试成功;如果测试通过了,则被认为是测试失败。
exception unittest.SkipTest(reason)
引发此异常以跳过一个测试。
通常来说,你可以使用 TestCase.skipTest() 或其中一个跳过测试的装饰器实现跳过测试的功能,而不是直接引发此异常。

被跳过的测试的 setUp() 和 tearDown() 不会被运行。被跳过的类的 setUpClass() 和 tearDownClass() 不会被运行。被跳过的模组的 setUpModule() 和 tearDownModule() 不会被运行。

原文地址:https://www.cnblogs.com/dmtz/p/10969371.html

时间: 2024-10-09 19:12:00

python unittest学习4---跳过测试与预计的失败的相关文章

Python unittest 学习

import unittest class UTest(unittest.TestCase): def test_upper(self): self.assertEqual('foo'.upper(), 'FOO') def test_isupper(self): self.assertTrue('FOO'.isupper()) self.assertFalse('Foo'.isupper()) if __name__ == '__main__': unittest.main() 注: 0. u

python unittest学习笔记(一)

一:了解unittest unittest:python内部自带的单元测试模块:类同于java的junit: 二:unittest基本使用 1:import unittest 2:定义一个测试类,继承unittest.TestCase 3:setUp和tearDown,每个测试函数运行前.后执行 4:定义测试函数,名字以test开头 5:主要调用assertEqual.assertRaises等断言方法判断程序执行结果和预期值是否相符 6:调用unittest.main()启动测试 (1) 下面

python+unittest+xlrd+request搭建API测试框架

实现功能 1.可在表格中进行编写用例 2.自动执行表格中测试用例 3.对响应结果进行深度断言,可定位预期结果与测试结果的不同值与位置 4.形成HTML格式的测试报告 源码可在githube中下载: https://github.com/wcnszbd/Mytest 先附上效果图: 再上代码: 结构图 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Time : 2017-07-28 18:07 4 import xlrd 5 impo

Python+selenium之跳过测试和预期失败

在运行测试时,需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败.unittest单元测试框架提供了实现这些需求的装饰器. 1.unittest.skip(reason) 无条件地跳过装饰的测试,说明跳过测试的原因 2.unittest.skipIf(condition,reason) 如果条件为真时,跳过装饰的测试. 3.unittest.skipUless(condition,reason) 跳过装饰的测试,除非条件为真 4.unittest.expe

跳过测试和预期失败.py

"""在运行测试时,有时需要直接跳过某些测试用例,或者当用例符合某个条件时跳过测试,又或者直接将测试用例设置为失败.unittest提供了实现这些需求的装饰器.·unittest.skip(reason)无条件地跳过装饰的测试,说明跳过测试的原因.·unittest.skipIf(condition,reason)跳过装饰的测试,如果条件为真时.·unittest.skipUnless(condition,reason)跳过装饰的测试,除非条件为真.·unittest.exp

python单元测试框架-unittest(五)之跳过测试和预期失败

概要 @unittest.skip(reason): skip(reason)装饰器:直接跳过测试,并说明跳过测试的原因. @unittest.skipIf(reason): skipIf(condition,reason)装饰器:条件为真时,跳过测试,并说明跳过测试的原因 @unittest.skipUnless(reason): skipUnless(condition,reason)装饰器:条件为假时,跳过测试,并说明跳过测试的原因 @unittest.expectedFailure():

Python单元测试--使用装饰器实现测试跳过和预期故障

Python单元测试unittest中提供了一下四种装饰器实现测试跳过和预期故障.(使用Python 2.7.13) 请查考Python手册中: https://docs.python.org/dev/library/unittest.html The following decorators implement test skipping and expected failures: #以下装饰器实施测试跳过和预期故障: @unittest.skip(原因) Unconditionally s

python unittest 测试所有相关单元测试

python unittest 测试所有相关单元测试 python -m unittest discover project_directory "ut_*.py" 原文地址:https://www.cnblogs.com/bingwork/p/9714318.html

python unittest--TestCase类总结4,skip跳过用例或者跳过测试类

跳过测试类: 跳过某个用例: 如果发现是跳过时,就不会执行setup和teardown,就执行停止执行用例了 原文地址:https://www.cnblogs.com/dmtz/p/11005309.html