我是Pytest的新手,如果有任何此类东西,在理解父级测试文件的概念时会遇到一些麻烦。项目结构如下:
Project
|
|----API
| |----api_one.py
| |----api_two.py
|
|----tests
| |----test_a.py
| |----test_b.py
tox.ini
我想做的是:从配置文件中获取机器地址和令牌,并在BaseTest文件中创建我的url,我希望我所有的测试文件都继承该BaseTest文件,这样我就不必设置特定于环境的事情一次又一次。现在,我可以在tests文件夹中创建一个base_test.py,而不是在外部进行导入,但是它确实是一个外部文件,而且我还想在base_test中为以后的任何设置创建setupclass和teardownclass。
api文件夹中的文件将具有针对我项目中发生的所有唯一API调用的类,例如商店,订单等。
现在我在这里的几个地方和概念上可能是错的,但是我正在寻找“在pytest中有一个父测试文件”的解决方案。
答案 0 :(得分:0)
您可以通过定义安装程序类方法来使用定义为base_test.py的类扩展测试类。设置功能中的代码将被自动调用
例如
# base_test.py
class MyBaseTest
def setup(self):
# my setup stuff
self._url = "http://blabla.com"
def teardown(self):
# my teardown stuff
您的测试班级应如下所示
# test_a.py
class TestMyAPI(MyBaseTest):
# my test stuff