Python单元测试--使用装饰器实现测试跳过和预期故障
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python单元测试--使用装饰器实现测试跳过和预期故障,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2289字,纯文字阅读大概需要4分钟。
内容图文
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 skip the decorated test. reason should describe why the test is being skipped.
#无条件跳过装饰测试。 原因应该说明为什么要跳过测试。
-
@
unittest.
skipIf
(条件,原因) -
Skip the decorated test if condition is true.
#如果条件为真,跳过装饰测试。
-
@
unittest.
skipUnless
(条件,原因) -
Skip the decorated test unless condition is true.
# 跳过装饰的测试,除非条件是真的。
-
@
unittest.
expectedFailure
-
Mark the test as an expected failure. If the test fails when run, the test is not counted as a failure.
#将测试标记为预期的失败。 如果测试在运行时失败,则测试不会被视为失败。
(以上采用谷歌翻译,可能会有差异)
好了,写段代码看下,test.py ,使用的Eclipse
#coding:UTF-8
import unittest
from test.test_pprint import uni
class Test_ce(unittest.TestCase):
a=16
b=10
@unittest.skip(‘无条件跳过‘)
def test_ce1(self):
self.assertEqual((self.a-self.b), 16)
#判断是否相等
@unittest.skipIf(True==1, ‘条件为真则跳过‘)
def test_ce_2(self):
self.assertFalse(self.a==self.b)
#判断是否为False
@unittest.skipUnless(1==1, ‘条件为假则跳过‘)
def test_ce_3(self):
self.assertTrue(self.a>16)
#判断是否为True
@unittest.expectedFailure
def test_ce_4(self):
self.assertFalse(self.a==16)
@unittest.expectedFailure
def test_ce_5(self):
self.assertFalse(self.a==15)
if __name__ == ‘__main__‘:
unittest.main()
好的,运行一下
1 ssFxu 2 ====================================================================== 3 FAIL: test_ce_3 (__main__.Test_ce) 4 ---------------------------------------------------------------------- 5Traceback (most recent call last): 6 File "D:\Escplise\workspace\Pytest\src\test001\CE.py", line 20, in test_ce_3 7 self.assertTrue(self.a>16) 8 AssertionError: False isnot true 910 ---------------------------------------------------------------------- 11 Ran 5 tests in 0.000s 1213 FAILED (failures=1, skipped=2, expected failures=1, unexpected successes=1)
好的,我们对第1行代码进行分析:
s:全称是skipped(跳过)
s:条件为真,所以也是skipped(跳过)
F:条件为真,所以忽略装饰器,执行断言代码,显然是failures(失败)
x:断言结果显然是失败的,但是这是在我们意料之中,所以是expected failures(预期的失败)
u:断言结果显然是pass,但是我们预计可能不通过,所以是unexpected successes(意想不到的成功)
即第13行代码 所示 FAILED (failures=1, skipped=2, expected failures=1, unexpected successes=1)
原文:http://www.cnblogs.com/yin-tao/p/7086581.html
内容总结
以上是互联网集市为您收集整理的Python单元测试--使用装饰器实现测试跳过和预期故障全部内容,希望文章能够帮你解决Python单元测试--使用装饰器实现测试跳过和预期故障所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。