#pytest常用的python断言:1)assertxx:判断xx为真2)assertnotxx:判断xx不为真3)assertainb:判断b包含a4)assertanotinb: 判断b不包含a5)asserta ==b:判断a等于b6)asserta !=b:判断a不等于b (2)使用pytest.raises触发期望异常的断言 #test_run.pydeftest_assert(self): r= requests.get("https://www.b...
name)Usage:def test_foo(): e = assert_raises(EnvironmentError, open, '/tmp/notfound') assert e.errno == errno.ENOENT 还比如这样子。import mathimport py.testpy.test.raises(OverflowError, math.log, 0)py.test.raises(ValueError, math.sqrt, -1)py.test.raises(ZeroDivisionError...
assert a not in b:判断b不包含a assert a == b:判断a等于b assert a != b:判断a不等于b 二、异常断言 可以使用pytest.raises作为上下文管理器,当抛出异常时可以获取到对应的异常实例,然后断言它抛出的异常是不是预期的。 # 断言异常 def test_zero_division(): with pytest.raises(ZeroDivisionError)...
你也可以给pytest.raises()传递一个关键字参数match,来测试异常的字符串表示str(excinfo.value)是否符合给定的正则表达式(和unittest中的TestCase.assertRaisesRegexp方法类似): importpytestdeffunc():raiseValueError("Exception 123 raised")deftest_match():# pytest.raises()函数,# 可以用元组的形式传递参数,只需...
assert not xx :判断 xx 不为真 assert a in b :判断 b 包含 a assert a == b :判断 a 等于 b assert a != b :判断 a 不等于 b 异常断言 可以使用 pytest.raises 作为上下文管理器,当抛出异常时可以获取到对应的异常实例 # 断言异常
with pytest.raises(AssertionError): self.cake() if __name__ == '__main__': pytest.main(['-v 这个从表面上运行结果肯定是失败的,因为a不等于b,但是加入pytest的断言运行后就成功了。 上文中的异常断言,可以进行实例化,实例化过后存在三个可以用的方法,分别是.type,.value,.traceback安静简单的进行...
with pytest.raises(AssertionError): self.cake() if __name__ == '__main__': pytest.main(['-v']) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 这个从表面上运行结果肯定是失败的,因为a不等于b,但是加入pytest的断言运行后就成功了 ...
assert not xx :判断 xx 不为真 assert a in b :判断 b 包含 a assert a == b :判断 a 等于 b assert a != b :判断 a 不等于 b 异常断言 可以使用 pytest.raises 作为上下文管理器,当抛出异常时可以获取到对应的异常实例 #断言异常 deftest_zero_division(): ...
对这类特定异常的断言,可以采用pytest中的pytest.raises()进行处理。以下示例对一个判断是否为闰年的方法进行测试:# is_leap_year.pydefis_leap_year(year):# 先判断year是不是整型if isinstance(year, int) isnotTrue: raise TypeError("传入的参数不是整数") elif year == 0: raise ValueError(...
def test_001(self):c = self.add(1,2)assert c == 4 if__name__ == '__main__':pytest.main(['-s'])看到上⾯的代码⼤家都知道是会失败的,那么我们⼀起看下pytest断⾔会给我们增加哪些新的报错信息。从上图的结果中可以看出带“>”的是python⾃带的错误解释,⽽带E的则是pytest进...