为什么 CircleCi 找不到我的测试?

Why can't CircleCi find my tests?

请参阅下面的回购结构。我想 运行 root/app2/tests/ 中的测试。我正在使用 py.test。

在 CircleCi 无法自动推断测试目录后,我在根目录中添加了一个 circle.yml 文件,但仍然找不到测试。非常感谢任何帮助。

circle.yml 文件内容:

general:
  build_dir: app2/tests

存储库结构:

root
├── circle.yml
├── app1
│   ├── xxx
│   ├── yyy
│  
└── app2
    ├── src
    ├── tests
        |-- test_module_1.py
        |-- test_module_2.py

通常将 build_dir 设置为应用程序目录就足够了,我们会自己寻找测试子目录。

能否请您尝试用此替换 circle.yml 中的当前命令?

general:
  build_dir: app2

好的,在 CircleCI 的帮助下,我想出了如何将 py.test 与 CircleCI 一起使用:

circle.yml 文件中添加:

test:
    override:
        - py.test <optional path to subdir with tests>

dependencies:
    pre:
       -  pip install pytest

如果您的代码除 py.test 外还依赖多个包,您可以创建一个 requirements.txt 文件:

pip freeze > requirements.txt

将 requirements.txt 文件放在与 circle.yml 文件相同的目录中(如果您已在 circle.yml 文件中指定,则将其放在 build_dir 中)并添加到 circle.yml:

dependencies:
      pre:
         -  pip install -r requirements.txt