pytest:是pytest_sessionstart()和pytest_sessionfinish()有效钩子吗?

时间:2012-09-25 15:43:11

标签: pytest

pytest_sessionstart(session)pytest_sessionfinish(session)有效的挂钩吗? dev hook docslatest hook docs

中未对其进行描述

它们与pytest_configure(config) / pytest_unconfigure(config)有什么区别?

在文档中说:

  已解析命令行选项后调用的

pytest_configure(config)。和所有插件   并且已加载初始conftest文件。

  退出测试过程之前调用

pytest_unconfigure(config)

会话是一样的吧?

谢谢!

1 个答案:

答案 0 :(得分:5)

坏消息是sessionstart / configure的情况没有很好地指定。特别是Sessionstart没有太多文档记录,因为如果一个是xdist / distribution的话,语义会有所不同。人们可以区分这些情况,但这有点太复杂了。

好消息是pytest-2.3应该让事情变得更容易。如果使用scope =“session”定义@setup(很快将重命名为@fixture)函数,则可以实现一个在每个进程中调用一次的fixture,在该过程中执行测试。对于分布式测试,这意味着每个测试从站一次。对于单过程测试,它意味着整个测试运行一次。在任何一种情况下,如果你执行“--collectonly”运行,或“-h”或其他不涉及运行测试的选项,那么夹具功能根本不会执行。

希望这澄清。