在我的CI中,我有一个build步骤,它使用pip并使用私有(private)索引等正确设置。然后我有test步骤,它执行pythonsetup.pytest。在这种特殊情况下,test是pytest的别名。Setuptools和PIP以不同方式解析包依赖性,这导致测试步骤尝试重新安装某些包。我想阻止这种情况。有没有办法通过Setuptools配置(最好)或PyTest配置来做到这一点?更新:通过流行的需求repo来举例说明我遇到的问题https://github.com/vartec/example_repo_setuptools_issue 最佳答案
Python3.4.1,pytest2.6.2。当测试失败时,pytest将定期报告测试打印到标准输出的内容。例如这段代码:defmethod_under_test():print("Hallo,Welt!")return41deftest_result_only():result=method_under_test()assertresult==42当作为python-mpytestmyfile.py执行时,将报告:==================================FAILURES===================================________
我刚开始使用Pytest进行测试,遇到了一个小但烦人的挂断。在命令行测试session结果中,我看到我的测试通过了,但对于某些测试,显示的百分比不是100%。通过一些积极的日志记录,我能够确认我的测试按预期通过了。我的问题是:为收集的测试显示的百分比是什么意思?例子:platformwin32--Python3.7.0a4,pytest-3.5.0,py-1.5.3,pluggy-0.6.0rootdir:C:\api-check,inifile:collected5itemstest_Me.py...[60%]test_env.py..[100%]==================
我在使用pyDev运行pytest单元测试时遇到问题。我尝试使用模块共享fixture和应该在最后一次测试后执行的终结器来运行单元测试。但是在pyDev中运行单元测试时,它不使用同一个实例,而是创建两个不同的实例。该示例在控制台中或从pydev中的脚本启动时运行良好。我在Win7上使用平台Python2.7.3、pytest-2.3.4、pyDev2.7.3.2013031601、Eclipse4.2。我尝试了http://pytest.org/latest/fixture.html中的示例pydev的输出是:=============================testsessi
我将Selenium与PYTEST结合使用来测试网站。每当测试失败时(并且仅当测试失败时),我想截取页面的屏幕截图。有什么办法可以做到这一点吗?当涉及到这个时,文档很安静(或者我找不到它)。我会假设它会像request.function.failed它会返回一个bool值或其他东西。这是我想做的:@pytest.fixture()defsomething(request):ifrequest.function.failed:print"Ifailed"当然,这将被添加到终结器中。可以吗?使用pytest2.3.3谢谢。 最佳答案 可
我问了this关于如何编写pytest来检查stdout中的输出的问题并得到了解决方案。现在我需要编写一个测试用例,检查内容是否写入文件以及内容是否按预期写入例如:defwritetoafile():file=open("output.txt",w)file.write("hello\n")file.write("world\n")file.close()现在是一个pytest函数来检查它是否写入:deftest_writeToFile():file=open("ouput.txt",'r')expected="hello\nworld\n"assertexpected==file.r
我在最近切换到pytest的项目中工作unittest框架。我习惯于从Eclipse调用我的测试,这样我就可以使用调试器(例如,放置断点来分析测试失败是如何发展的)。现在这不再可能了,因为运行测试的唯一方法是通过命令行黑框。是否有某种方法可以在Python中使用pytest,这样就不会被迫退出IDE?测试当然不应在单独的进程中运行。 最佳答案 我想我现在可以回答我自己的问题了,这很简单:importpytestpytest.main(args)记录在"CallingpytestfromPythoncode"节中.然后我可以运行这个模
我正在尝试将pytest-django添加到我当前的pytest3/Django1.7环境中。目前我们还没有使用该插件,并且一直受到某些测试之间的共享状态的困扰在我收到以下错误消息时,一切似乎都在视觉上看起来不错,并且测试似乎一直通过,直到结束:request=>@pytest.fixture(autouse=True)def_django_db_marker(request):"""Implementthedjango_dbmarker,internaltopytest-django.Thiswilldynamicallyrequestthe``db``or``transaction
在使用py.test运行测试时,我使用joblib.Memory来缓存昂贵的计算。我使用的代码简化为以下内容,fromjoblibimportMemorymemory=Memory(cachedir='/tmp/')@memory.cachedefexpensive_function(x):returnx**2#somecomputationallyexpensiveoperationheredeftest_other_function():input_ds=expensive_function(x=10)##runsometestswithinput_ds效果很好。我知道使用tmpd
我有一个类用于测试我的一些代码。我想参数化设置并使用不同的参数重新运行类:classTestNormalLTEPlasma:defsetup(self,t=10000):self.plasma=plasma.LTEPlasma.from_abundance(t,{'Si':1.0},1e-13,atom_data,10*86400)deftest_beta_rad(self):assertself.plasma.beta_rad==1/(10000*constants.k_B.cgs.value)deftest_t_electron(self):assertself.plasma.t_