我正在使用unittest中的skipIf()在某些条件下跳过测试。@unittest.skipIf(condition),"thisiswhyIskippedthem!")如何告诉py.test显示跳过条件?我知道,对于unittest,我需要启用详细模式(-v),但添加到py.test的相同参数会增加详细程度,但仍不显示跳过原因。 最佳答案 当你运行py.test时,你可以通过-rsx来报告跳过的测试。来自py.test--help:-rcharsshowextratestsummaryinfoasspecifiedbychar
py.test命令在我的情况下失败,而pytest运行完全正常。我使用pytest-flask插件:platformlinux--Python3.5.2,pytest-3.0.2,py-1.4.31,pluggy-0.3.1rootdir:/home/sebastian/develop/py/flask-rest-template,inifile:plugins:flask-0.10.0当我调用$py.test时出现以下错误:Traceback(mostrecentcalllast):File"/usr/local/lib/python3.5/dist-packages/_pytest
如何在pytest中测试单个文件?我只能在文档中找到忽略选项,而没有“仅测试此文件”选项。最好这将在命令行而不是setup.cfg上工作,因为我想在ide中运行不同的文件测试。整个套件花费的时间太长。 最佳答案 只需使用文件路径运行pytest类似pytest测试/test_file.py使用::语法在测试文件中运行特定的测试:pytesttest_mod.py::test_func这里的test_func可以是一个测试方法或者一个类(例如:pytesttest_mod.py::TestClass)。更多方式和详情见"Specify
我正在使用selenium进行端到端测试,但我不知道如何使用setup_class和teardown_class方法。我需要在setup_class方法中设置浏览器,然后执行一系列定义为类方法的测试,最后在teardown_class方法中退出浏览器。但从逻辑上讲,这似乎是一个糟糕的解决方案,因为实际上我的测试不适用于类,而是对象。我在每个测试方法中传递self参数,所以我可以访问对象的变量:classTestClass:defsetup_class(cls):passdeftest_buttons(self,data):#self.$attributecanbeused,butnot
我正在使用Python开发一个包。我使用虚拟环境。我在virtualenv中的.pth路径中将路径设置为模块的根目录,这样我就可以在开发代码并进行测试时导入包的模块(问题1:这是一个好方法吗?)。这很好用(这是一个例子,这是我想要的行为):(VEnvTestRc)zz@zz:~/Desktop/GitFolders/rc$pythonPython2.7.12(default,Jul12016,15:12:24)[GCC5.4.020160609]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>
我正在使用py.test来测试一些包装在python类MyTester中的DLL代码。出于验证目的,我需要在测试期间记录一些测试数据,然后再进行更多处理。由于我有很多test_...文件,因此我想在大多数测试中重用测试器对象创建(MyTester的实例)。由于测试器对象是获得对DLL变量和函数的引用的对象,因此我需要将DLL变量列表传递给每个测试文件的测试器对象(要记录的变量对于test_...文件)。列表的内容用于记录指定的数据。我的想法是这样做:importpytestclassMyTester():def__init__(self,arg=["var0","var1"]):sel
如何使用pytest对float进行assertmostequal而不诉诸于:assertx-0.00001更具体地说,了解一个快速比较浮点对的简洁解决方案将很有用,而无需解包:assert(1.32,2.4)==i_return_tuple_of_two_floats() 最佳答案 我注意到这个问题专门询问了pytest。pytest3.0包含一个approx()function(嗯,真的是类)对于这个目的非常有用。importpytestassert2.2==pytest.approx(2.3)#fails,defaultis±
我使用easy_install在Mac上安装了pytest,并开始为具有如下文件结构的项目编写测试:repo/|--app.py|--settings.py|--models.py|--tests/|--test_app.py在repo目录中运行py.test,一切都如你所愿但是当我在linux或windows上尝试同样的事情时(两者都有pytest2.2.3),每当它从我的应用程序路径中首次导入某些东西时,它都会吠叫。比如说fromappimportsome_def_in_app我是否需要编辑我的PATH才能在这些系统上运行py.test?有人经历过吗?
有时我只想在我的代码中插入一些打印语句,然后看看我在执行它时会打印出什么。我常用的“锻炼”方法是使用现有的pytest测试。但是当我运行这些时,我似乎看不到任何标准输出(至少在我的IDEPyCharm中)。有没有一种简单的方法可以在pytest运行期间查看标准输出? 最佳答案 -sswitch禁用每次测试捕获(仅当测试失败时)。-s等价于--capture=no。 关于python-如何查看pytest运行期间创建的正常打印输出?,我们在StackOverflow上找到一个类似的问题:
我有一个使用rspec/fixtures的Rails5.1项目,我无法让fixture加载与belongs_to/has_one/has_many关联的对象:我请求fixture的对象返回时其_id列填充了看似随机的number和ActiveRecord将关联视为nil。这发生在具有许多关联的大类以及只有几个字段的小数据类上。如果在我的测试代码中,我将这些关联分配给正常的Ruby代码,对象将正常运行并且我的测试通过。但是,当通过固定装置加载相同的数据时,关联的记录不可用,并且需要跨越关联的数据的测试失败。例如,这里有两个受影响的类:#app/models/location.rbclas