文件夹结构如下/test
----test_abc.py
----test_bcd.py
----test_cde.py
----conftest.py
conftest.py包含所有spark启动项,在每个pytest文件中,我使用这些fixture。
为了执行所有pytest文件,我编写了一个shell脚本,它将调用所有测试,如下所示。这条路对吗?我认为如果我像下面这样单独调用这些文件,它将在每次执行时启动一个新的spark会话。我的假设是正确的,我可以为所有的pytest使用相同的spark会话吗?
bashscript.sh
pytest ./tests/test_abc.py --emr
pytest ./tests/test_bcd.py --emr
pytest ./tests/test_cde.py --emr
如果您想创建一个单独的pytest会话,但只调用几个文件,您可以将它们作为位置参数传递给pytest:
pytest ./tests/test_abc.py ./tests/test_bcd.py ./tests/test_cde.py --emr
通过这种方式,会话作用域的fixture只会被创建一次。