草庐IT

pytest-mock

全部标签

python mock side_effect 或 return_value 取决于 call_count

为了测试一个轮询函数,我想模拟一个子函数的调用,这样第一次调用它就会失败,第二次调用它就会成功。这是它的一个非常简化的版本:poll_function(var1):value=sub_function(var1)#FirstcallwillreturnNonewhilenotvalue:time.sleep(POLLING_INTERVAL)value=sub_function(var1)#Asubsequentcallwillreturnastring,e.g"data"returnvalue这可能与mock框架中的Mock对象有关吗?我知道Mock对象有一个call_count属性

python mock side_effect 或 return_value 取决于 call_count

为了测试一个轮询函数,我想模拟一个子函数的调用,这样第一次调用它就会失败,第二次调用它就会成功。这是它的一个非常简化的版本:poll_function(var1):value=sub_function(var1)#FirstcallwillreturnNonewhilenotvalue:time.sleep(POLLING_INTERVAL)value=sub_function(var1)#Asubsequentcallwillreturnastring,e.g"data"returnvalue这可能与mock框架中的Mock对象有关吗?我知道Mock对象有一个call_count属性

python - 如何加快pytest

有什么方法可以加快pytest的重复执行速度吗?即使我在命令行上指定要执行哪些文件,它似乎也花费了大量时间来收集测试。我知道这也不是磁盘速度问题,因为在所有.py文件中运行pyflakes非常快。不同的答案代表了pytest可能变慢的不同方式。他们有时会有所帮助,但有时却没有。我正在添加一个解释常见速度问题的答案。但是这里不能选择“The”答案。 最佳答案 使用pytest.ini或tox.ini中的norecursedirs选项可以节省大量收集时间,具体取决于您的工作目录中还有哪些其他文件。当我有一套300次测试时,我的收集时间大

python - 如何加快pytest

有什么方法可以加快pytest的重复执行速度吗?即使我在命令行上指定要执行哪些文件,它似乎也花费了大量时间来收集测试。我知道这也不是磁盘速度问题,因为在所有.py文件中运行pyflakes非常快。不同的答案代表了pytest可能变慢的不同方式。他们有时会有所帮助,但有时却没有。我正在添加一个解释常见速度问题的答案。但是这里不能选择“The”答案。 最佳答案 使用pytest.ini或tox.ini中的norecursedirs选项可以节省大量收集时间,具体取决于您的工作目录中还有哪些其他文件。当我有一套300次测试时,我的收集时间大

python代码实现判断三角形类型,使用pytest进行代码测试,生成allure测试报告

目录一、python代码判断三角形类型二、使用pytest测试代码三、生成allure测试报告一、python代码判断三角形类型写代码之前首先我们要知道满足三角形的条件:前提条件:三角形边长都为大于0的数字构成三角形:两边之和大于第三边即a+b>c anda+c>band b+c>a  (此三个条件需要同时满足)满足构成三角形之后,要考虑构成三角形的类型:三角形分为:直角三角形、等腰三角形、等边三角形、不规则三角形(钝角三角形、锐角三角形) 直角三角形:两边平方和等于第三边即a^2+b^2=c^2 or  b^2+ c^2= a^2  or  a^2+c^2 = b^2(此三个条件满足一个即可

Pytest - pytest 命令(3) - 常用命令的使用

pytest常用命令测试信息输出#设置pytest的执行参数"-q":安静模式,不输出环境信息pytest.main(["-q"])#设置pytest的执行参数"-s":显示程序中的print/logging输出pytest.main(["-s"])#设置pytest的执行参数"-v":丰富信息模式,输出更详细的用例执行信息pytest.main(["-v"])指定用例执行执行全部用例;#直接执行pytest.main():自动查找当前目录下,以`test_`开头或者以`_test`结尾的.py文件pytest.main()执行指定py文件的用例;#main函数中填写py文件,会运行指定文件内

Pytest - pytest 命令(2) - 命令参数及含义

Pytest命令pytest命令参数及含义下面列表是执行pytest命令比较常见的一些参数及含义参数含义-q输出的结果缩短显示-s显示在python程序中的print输出的内容,如是不加则不会显示--durations获取最慢的n个用例的执行耗时--durations-min此参数和–durations边用,表示在–durations-min时间段之内,获取最慢的测例耗时-mpytest调用模块--pyargspytest调用包-nNUM同时运行多个进程数,次数用于填写并发数,在使用此选项前要安装pytest-xdist包--returns次数重试运行的次数--html生成测试报告--juni

python - 如何使用 pytest 检查没有引发错误

假设我们有这样的东西:importpy,pytestERROR1='---Error:value10!---'classMyError(Exception):def__init__(self,m):self.m=mdef__str__(self):returnself.mdeffoo(i):ifi10:raiseMyError(ERROR2)returni#----------------------TESTS-------------------------deftest_foo1():withpytest.raises(MyError)ase:foo(3)assertERROR1i

python - 如何使用 pytest 检查没有引发错误

假设我们有这样的东西:importpy,pytestERROR1='---Error:value10!---'classMyError(Exception):def__init__(self,m):self.m=mdef__str__(self):returnself.mdeffoo(i):ifi10:raiseMyError(ERROR2)returni#----------------------TESTS-------------------------deftest_foo1():withpytest.raises(MyError)ase:foo(3)assertERROR1i

python mock - 在不妨碍实现的情况下修补方法

是否有一种干净的方法来修补对象,以便在测试用例中获得assert_call*帮助程序,而无需实际删除操作?例如,如何修改@patch行以使以下测试通过:fromunittestimportTestCasefrommockimportpatchclassPotato(object):deffoo(self,n):returnself.bar(n)defbar(self,n):returnn+2classPotatoTest(TestCase):@patch.object(Potato,'foo')deftest_something(self,mock):spud=Potato()fort