问题标签 [pytest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - py.test -n 与 Django TestCase url
要在 Django 测试中使用特定的 url-config,您只需指定它:
但是,它看起来不像实现是线程安全的:
在我使用 py.test -n8 运行测试套件(使用全部 8 个 CPU)后,我在测试日志中看到 404 错误。
有没有其他人看到/解决了这个问题?
python - py.test: 获取 KeyboardInterrupt 来调用拆解
我正在使用 py.test 编写一些测试,并在我的测试中使用 funcargs。这些 funcargs 在 conftest.py 中定义了自己的设置和拆卸,如下所示:
conftest.py:
我的问题是,当有人使用 CTRL+C 来停止测试执行时,它会让所有内容都没有被删除。我知道有一个钩子 pytest_keyboard_interrupt 但我不知道从那里做什么。
对不起这个noobish问题。
python - 在 py.test 中,当我明确跳过标记为 xfail 的测试时,如何将其报告为“已跳过”而不是“xfailed”?
我有一个标记为 xfail 的 py.test 测试函数:
在我的 pytest_runtest_setup() 钩子中,我明确地跳过了这个测试:
当我运行 py.test 时,它报告测试 xfailed:
如何让 py.test 将此测试报告为已跳过?
好像我在问,“如何在我的 pytest_runtest_setup() 钩子中从这个测试中删除 xfail 标记?”
谢谢。
python - 如何告诉 py.test 跳过某些目录?
我尝试使用norecursedirs
setup.cfg 中的选项来告诉 py.test 不要从某些目录收集测试,但它似乎确实忽略了它。
当我跑步时,py.test
我确实看到它是如何从内部获得测试的lib/third
!
pytest - pytest - 在 setup_module 中使用 funcargs
我在 confttest.py 中包含了我自己的命令行选项
和
如果我在模块内的普通函数中使用此命令行选项:
它按预期工作。
现在我想在一些测试之前包含 setup_module 函数来创建/复制一些东西:
不幸的是,我现在知道如何在 setup_module 函数中访问此命令行选项。没有任何效果,我试过了。
感谢您的帮助,建议。
干杯
pytest - 如何调试 funcargs 函数?
如何在 funcargs 函数中放入 pdb?以及如何在 funcargs 函数中查看 print 语句的输出?
我最初的问题包括以下内容,但事实证明我只是在检测错误的 funcarg。叹。
我试过:
使用和不使用 -s 调用。
我试过:
和:
和:
没有产生任何输出或导致测试失败。
python - Python: best way to test a single method of a class
I have a class like the following:
As you can see, initializing the class needs to feed in arg1, arg2, and arg3. However, testing func1 and func2 does not directly require such inputs, but rather, it's simply an input/output logic.
In my test, I can of course instantiate and initialize a test object in the regular way, and then test func1 and func2 individually. But the initialization requires input of arg1 arg2, arg3, which is really not relevant to test func1 and func2.
Therefore, I want to test func1 and func2 individually, without first calling __init__
. So I have the following 2 questions:
- What's the best way of designing such tests? (perferably, in py.test)
- I want to test func1 and func2 without invoking
__init__
. I read from here thatA.__new__()
can skip invoking__init__
but still having the class instantiated. Is there a better way to achieve what I need without doing this?
NOTE:
There have been 2 questions regarding my ask here:
- Is it necessary to test individual member functions?
- (for testing purpose) Is it necessary to instantiating a class without initializing the object with
__init__
?
For question 1, I did a quick google search and find some relevant study or discussion on this:
- Unit Testing Non Public Member Functions
- (PDF) Incremental Testing of Object-Oriented Class Structures.
We initially test base classes having no parents by designing a test suite that tests each member function individually and also tests the interactions among member functions.
For question 2, I'm not sure. But I think it is necessary, as shown in the sample code, func1 and func2 are called in __init__
. I feel more comfortable testing them on an class A object that hasn't been called with __init__
(and therefore no previous calls to func1 and func2).
Of course, one could just instantiate a class A object with regular means (testobj = A()) and then perform individual test on func1 and func2. But is it good:)? I'm just discussing here as what's the best way to test such scenario, what's the pros and cons.
On the other hand, one might also argue that from design perspective one should NOT put calls to func1 and func2 in __init__
in the first place. Is this a reasonable design option?
pytest - 在 py.test 中,如何缩小 xfail 标记的范围?
我想缩小 pytest xfail 标记的范围。就我目前使用的而言,它标志着整个测试功能,功能出现任何故障都很爽。
我想将其缩小到更小的范围,可能使用类似于“with pytest.raises (module.Error)”的上下文管理器。例如:
如果我在我调用的三种方法中的任何一种中断言,此测试将失败。相反,我希望测试只有在 second_step() 中断言而不是在其他地方断言时才会失败。像这样的东西:
py.test 有可能吗?
谢谢。
pytest - py.test 和拆解
我正在 py.test 中开发一个测试套件,它连接到网络硬件设备并更改设置等。每种测试方法都会更改某些设置组合,然后断言结果。如何进行特定于测试的拆解,而无需在每次测试后重置所有设备设置?
python - 创建 html 报告,我可以创建本地文件的编辑链接吗?
我想转换如下所示的 py.test 报告:
进入更容易理解和导航的东西(希望很容易生成)。我想添加堆栈帧的展开/折叠、最小语法突出显示、“转到定义”链接,并希望我可以将文件的路径转换为可以在 .py 的默认编辑器中打开文件的链接文件。
我试图在谷歌搜索创建指向本地文件的链接的解决方案,这将在本地编辑器中打开它,但我发现的只是涉及网络服务器的答案。既然报表将由用户双击报表打开,那么应该没有任何安全问题..?
也许我应该使用 html 以外的东西?