6

pytest_sessionstart(session)pytest_sessionfinish(session)有效的钩子?开发钩子文档最新钩子文档中没有描述它们

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

在文档中说:

pytest_configure(config)在解析命令行选项后调用。并加载了所有插件和初始 conftest 文件。

pytest_unconfigure(config)在退出测试过程之前调用。

会话是一样的,对吧?

谢谢!

4

1 回答 1

9

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

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

希望这可以澄清。

于 2012-09-26T10:56:54.023 回答