Pytest:即使按照惯例收集0个项目

时间:2018-04-24 00:11:31

标签: pytest

我按照所有约定创建了一个测试模块,但是当我运行测试时,我收到以下消息: 收集0项

这是我的目录层次结构: integration_tests(目录) - >测试(目录) - > test_integration_use_cases.py(python文件)

这是文件的内容:

import pytest
from some_tests.integration_tests.backbone.SomeIntegrationTestBase import SomeIntegrationTestBase

class TestSomeIntegration(SomeIntegrationTestBase):

    @pytest.mark.p1
    def test_some_integration_use_cases(self):
        print("**** Executing integration tests ****")
        result = self.execute_test(4)
        assert (True == result)

当我运行以下命令时: pytest test_integration_use_cases.py 我看到以下结果没有任何错误: 收集0项

仅供参考:我在开发机器上运行它(如流浪汉)

1 个答案:

答案 0 :(得分:0)

所以即使遵循所有推荐的约定,我也遇到了与您相同的问题。我的应用程序结构如下;

Application
-- API
   app.py
-- docs
-- venv
-- tests
   -- unit_test
      test_factory
      ...
...

但是,我通过将测试目录移至API包下解决了该问题,从而使我的应用程序结构如下所示;

Application
-- API
   app.py
   -- tests
      -- unit_test
         test_factory
         ...    
-- docs
-- venv
...

尽管 pytest 应该可以自动发现测试,但是如果将它们放置在应用程序根目录中,似乎可以做到。查看pytest for flask

我还发现this resource很有帮助。