是pytest_sessionstart(session)
和pytest_sessionfinish(session)
有效的挂钩吗? dev hook docs或latest hook docs
它们与pytest_configure(config)
/ pytest_unconfigure(config)
有什么区别?
在文档中说:
已解析命令行选项后调用的
pytest_configure(config)
。和所有插件 并且已加载初始conftest文件。
和
退出测试过程之前调用
pytest_unconfigure(config)
。
会话是一样的吧?
谢谢!
答案 0 :(得分:5)
坏消息是sessionstart / configure的情况没有很好地指定。特别是Sessionstart没有太多文档记录,因为如果一个是xdist / distribution的话,语义会有所不同。人们可以区分这些情况,但这有点太复杂了。
好消息是pytest-2.3应该让事情变得更容易。如果使用scope =“session”定义@setup(很快将重命名为@fixture)函数,则可以实现一个在每个进程中调用一次的fixture,在该过程中执行测试。对于分布式测试,这意味着每个测试从站一次。对于单过程测试,它意味着整个测试运行一次。在任何一种情况下,如果你执行“--collectonly”运行,或“-h”或其他不涉及运行测试的选项,那么夹具功能根本不会执行。
希望这澄清。