草庐IT

Pytest初识

全部标签

python - 如何在pytest中只运行未标记的测试

我的python测试代码中有几个标记:@pytest.mark.slowtest@pytest.mark.webtest@pytest.mark.stagingtest我能够使用标记有选择地运行测试,例如pytest-mslowtest如何在不求助于pytest-m"not(slowtestorwebtestorstagingtest)"的情况下运行未标记的测试?如您所想,我们将来可能会使用其他标记... 最佳答案 我发现另一个有用的选项是使用pytest.ini添加默认选项。我们明确地写下要跳过的标记。它需要在pytest.ini

python - 将自定义测试套件运行器与 pytest-django 一起使用

我想将我的Django(版本1.6x)应用程序切换为使用pytest-django进行测试。因此我通过pip安装了最新的pytest-django并获得了这些版本:pytest==2.6.4pytest-django==2.7.0对于常规的django测试,我正在使用自定义测试套件运行器扩展DjangoTestSuiteRunner,我在settings.py中配置了它:设置.py:TEST_RUNNER="dcmanager.tests.runner.ManagedModelTestRunner"运行者.py:importunittestfromdjango.confimportse

python - pytest 2.3 中的包范围固定装置

在最新版本的pytest中,可以很容易地创建函数、类、模块或session作用域的固定装置,如下所示:@pytest.fixture(scope="module")defdb():returnDB()这会创建一个fixture,每个使用它的python模块只会调用一次。但是每个python包需要调用一次的固定装置呢?(有了nose,可以使用包的__init__.py中的setUp/tearDown方法来完成) 最佳答案 对于包或目录级别的fixture,您可以使用scope='session'在您需要的目录中的conftest.py

【C++深入浅出】初识C++中篇(引用、内联函数)

 目录一.前言二.引用2.1引用的概念2.2引用的使用2.3引用的特性2.4常引用2.5引用的使用场景2.6传值、传引用效率比较2.7引用和指针的区别 三.内联函数3.1内联函数的概念3.2内联函数的特性 一.前言    上期说道,C++是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式等。我们介绍了部分C++为了补充C语言语法上的不足而新增的内容,如命名空间,缺省参数,函数重载等等,上期传送门【C++深入浅出】初识C++(上篇)http://t.csdn.cn/UjbIo    本期将继续介绍C++剩下的一些有趣的功能,如引用,内联函数等等,这也是为了后面的类和

python - 如何导入 pytest monkeypatch 插件?

我想使用pytestmonkeypatch插件,但我不知道如何导入它。我试过:importmonkeypath导入pytest.monkeypatch从pytest导入monkeypatch 最佳答案 它不是插件,它是内置的pytestfixture.简而言之,这意味着您只需编写一个带有monkeypatch参数的测试,测试就会将monkeypatch对象作为该参数。您链接的页面有一个简单的示例:deftest_some_interaction(monkeypatch):monkeypatch.setattr("os.getcwd"

【云计算原理及实战】初识云计算

该学习笔记取自《云计算原理及实战》一书,关于具体描述可以查阅原本书籍。云计算被视为“革命性的计算模型”,因为它通过互联网自由流通使超级计算能力成为可能。2006年8月,在圣何塞举办的SES(捜索引擎战略)大会上,时任谷歌(Google)公司首席执行官(CEO)的施密特(EricSchmidt)在回答一个有关互联网的问题时提出了“云计算”这个概念。在施密特态度鲜明地提出“云计算”一词的几周后,亚马逊(Amazon)公司推出了EC2计算云服务。云计算自此出现,从此之后各种有关“云计算”的概念层出不穷,“云计算”开始流行。云计算的理论和尝试已经有多年历史,从J2EE和.net架构,到“按需计算”(O

异步和等待方法的 Python pytest 用例

我正在尝试为以下异步、等待方法编写pytest,但我一无所获。classUserDb(object):asyncdefadd_user_info(self,userInfo):returnawaitself.post_route(route='users',json=userInfo)asyncdefpost_route(self,route=None,json=None,params=None):uri=self.uri+routeifrouteelseself.uriasyncwithself.client.post(uri,json=json,params=params)asre

python - pytest 是否支持 "default"标记?

我正在使用pytest测试嵌入式系统的python模型。要测试的功能因平台而异。(我在此上下文中使用“平台”来表示嵌入式系统类型,而不是操作系统类型)。组织我的测试最直接的方法是根据平台类型将它们分配到目录。/platform1/platform2/etc.pytest/platform1由于许多功能跨平台重叠,这很快就变得难以支持。从那以后,我将我的测试移到了一个目录中,每个功能区域的测试分配给一个文件名(例如test_functionalityA.py)。然后,我使用pytest标记来指示文件中的哪些测试适用于给定平台。@pytest.mark.all_platformsdefte

python - 如何使用 pytest 将 fixture 中的对象共享到所有测试?

在具有session范围和autouse=True的fixture中定义对象的最佳方法是什么,以便它可用于所有测试?@pytest.fixture(scope='session',autouse=True)defsetup_func(request):obj=SomeObj()接下来,我想要一些魔法,让之前创建的obj将出现在每个测试上下文中,而不需要每个测试都定义setup_funcfixture。deftest_one():obj.do_something_fancy() 最佳答案 我的建议是将fixture添加到conftes

python - Pytest跳过具有特定参数值的测试

我有一些想要参数化的测试,但有些测试应该只应用于参数的一个值。下面举一个具体的例子,我想将参数one和two应用到test_A,但只提供参数one到test_B。当前代码@pytest.fixture(params=['one','two'])defdata(request):ifrequest.param=='one'data=5returndatadeftest_A(data):assertTruedeftest_B(data):assertTrue期望的结果我基本上想要这样的东西,但我不知道如何在pytest中正确编码:@pytest.fixture(params=['one',