【python测试之mock】教程文章相关的互联网学习教程文章

【Python】测试套件TestSuite执行完unittest测试用例后,TextTestRunner打印生成测试报告

根据之前的一段代码,生成运行后的测试报告。 https://blog.csdn.net/woshiyigerenlaide/article/details/104117384 文件名称:Calculator.py。一段用python编写的计算器Calculator代码def add(x,y):return x + y def sub(x,y):return x - y 文件名称:test36.py 。这是单元测试代码:测试用例代码# _*_ coding: utf-8 _*_ from unittest import TestCase, main, skip from test35 import add, subx, y = 5, 3 class MyTestCase(Te...

python测试框架:pytest

支持参数化 能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests) pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等 测试用例的skip和xfail处理 可以很好的和jenkins集成 report框架----allure 也支...

python-测试失败的ndb事务

我想单元测试从模型调用put函数时,如果ndb中的事务失败,会发生什么情况.是否有可能使交易故意失败?解决方法:从docs:If the function raises an exception, the transaction is immediately aborted and NDB re-raises the exception so that the calling code sees it. You can force a transaction to fail silently by raising the ndb.Rollback exception (the function call returns None in this case). There is no mechan...

python-即使测试了所有情况,MyPy也会给出错误“ Missing return statement”【代码】

即使在检查函数中所有可能的情况时,我也收到MyPy错误“缺少返回语句”. 例如,在下面的代码中,即使颜色只能是Color.RED,Color.GREEN或Color.BLUE,MyPy仍然给我一个错误“ 9:错误:缺少返回语句”,并且我测试了所有这些情况!class Color(enum.IntEnum):RED: int = 1GREEN: int = 2BLUE: int = 3def test_enum(color: Color) -> str:if color == Color.RED:return "red"elif color == Color.GREEN:return "green"elif color == Colo...

Pytest权威教程-更改标准(Python)测试发现【代码】

目录 更改标准(Python)测试发现 在测试收集过程中忽略路径 测试期间收集的测试取消 保留从命令行指定的重复路径 更改目录递归 更改命名约定 将cmdline参数解释为Python包 找出收集的东西 自定义测试集更改标准(Python)测试发现 在测试收集过程中忽略路径 通过--ignore=path在cli上传递选项,可以轻松地在收集过程中忽略某些测试目录和模块。pytest允许多个 --ignore选项。例: tests/ |-- example | |-- test_example_01.py ...

pytest-使用asyncio进行python测试【代码】

是否可以从函数将执行返回到事件循环.任务一旦完成将返回功能并继续执行? 我正在尝试使用pytest-asyncio插件 例:@pytest.mark.asyncio async def test_async1(event_loop):print('start 1')res = event_loop.create_task(send_async_request("http://test.com", limit=1000))) # here I need to return execution to event loop and continue only after getting response from send_async_request function print('end1',res)@p...

python-测试多个字符串中的多重子字符串的算法

我有几百万个字符串X,每个字符串少于20个左右.我还列出了X中每个x的几千个候选子字符串C.我想查看x中是否包含C中的任何字符串.现在我在使用天真的double for循环,但是已经有一段时间了,还没有结束…有什么建议吗?如果有人知道一个不错的实现,我就使用python,但是任何语言或通用算法的链接也都不错.解决方法:将您的一组字符串编码为trie(我建议使用较大的一组).查找时间应该比不完美的哈希更快,并且您还将节省一些内存.

python-测试Spyne应用程序【代码】

测试Spyne应用程序的最佳实践是什么.它是否具有Django或Flask之类的测试客户端.我不喜欢启动wsgi服务器来测试我的应用程序的想法. 这是我的烧瓶spyne示例https://github.com/satyrius/flask-spyne-example解决方法:为了进行测试,我们有NullServer:http://spyne.io/docs/2.10/reference/server.html?highlight=nullserver#spyne.server.null.NullServer 它实现了接近suds接口的功能.这是一个例子:>>> app = Application(...) >>> ...

python – 测试一个类是否从另一个继承【代码】

参见英文答案 > How do I check (at runtime) if one class is a subclass of another? 9个这个问题比Django更相关.我想测试为这个函数写一个测试,我用它来动态地用我设置的字段获取Django表单.def quiz_form_factory(question):properties = {'question': forms.IntegerField(widget=forms.HiddenInput, initial=question.id),'answers': forms.ModelChoiceField(queryset=question.answers_s...

python – 测试成功,仍然得到追溯【代码】

我正在使用Python的unittest库并且所有测试都成功,但我仍然得到追溯,我无法理解如何解决问题......... ---------------------------------------------------------------------- Ran 8 tests in 0.020sOKTraceback (most recent call last):File "C:\Users\Paul\Desktop\bloomfilter\test_bloomfilter.py", line 85, in <module>unittest.main()File "C:\Programming\PythonX86\Python27\lib\unittest\main.py", line 95, in __in...

python – 当测试string ==各种OR’ed替代品时总是如此【代码】

所以我目前遇到的问题是我的程序总是调用我已定义的’md5cypher’类,即使输入不在该列表中:def enc():global toeif toe=='md5' or 'M' or 'm' or 'Md5' or 'MD5':print("Md5 Encryption Cypher")md5cypher()else:print("Sha1 Encryption Cypher")shacypher()我究竟做错了什么?解决方法:实际上你正在检查:if (toe=='md5') or 'M' or 'm' or....因为bool(‘M’)是True,所以你总能成功检查.试试这个:if toe.lower() in ('md5', 'm...

python – 测试Flask响应是否为JSON【代码】

如何测试Flask视图生成的响应是否为JSON?from flask import jsonify@app.route('/') def index():return jsonify(message='hello world')c = app.app.test_client() assert c.get('/').status_code == 200 # assert is json解决方法:从Flask 1.0开始,response.get_json()会将响应数据解析为JSON或引发错误.response = c.get("/") assert response.get_json()["message"] == "hello world"jsonify将内容类型设置为application / js...

Python可以测试列表中多个值的成员资格吗?【代码】

我想测试两个或多个值是否在列表中具有成员资格,但我得到了意外的结果:>>> 'a','b' in ['b', 'a', 'foo', 'bar'] ('a', True)那么,Python可以在列表中一次测试多个值的成员资格吗?这个结果意味着什么?解决方法:这可以满足您的需求,几乎可以在所有情况下使用:>>> all(x in ['b', 'a', 'foo', 'bar'] for x in ['a', 'b']) True[‘b’,’a’,’foo’,’bar’]中的’a’,’b’表达式无法正常工作,因为Python将其解释为元组:>>> '...

Python测试夹具运行单个测试?【代码】

我正在寻找像ruby rspec的焦点元数据或elixir的mix标签来运行单个python测试. Ruby RSpec示例:# $rspec spec it 'runs a single test', :focus do expect(2).to eq(2) endElixir ExUnit&混合示例:# $mix test --only focus @tag :focus test "only run this test" doassert true end这可能/任何python测试运行器和夹具组合可用吗?通过命令行参数指定嵌套的module.class.test_name来运行单个测试在大型项目中会变得非常冗长. 所以...

在python上测试数字中数字之和的相等性?【代码】

例如def f(n): 我想检查n中的数字之和是否等于100,无论是1s,2s,3,s4s,5s等等,这取决于n的长度.f(5050) >>> True这测试5 0 5 0 == 100以及50 50 == 100且是否为真,它返回True. 它是以1s,2s 3s 4s等进行测试,取决于数字的长度.例如,长度为5的数字只能在1秒内测试.f(12345) >>> False这测试1 2 3 4 5 == 100是否只有那个. 如果n的长度是15,它将测试1s,3s和5s中的数字. 最后再举一个例子:f(25252525) >>> True这将测试2 5 2 5 2 5 2 ...