在Pytest中创建一个父测试类

时间:2019-12-30 23:47:00

标签: python pytest

我是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中有一个父测试文件”的解决方案。

1 个答案:

答案 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