如何从多个目录运行单元测试

Gug*_*lie 3 python unit-testing python-unittest

我有 2 个包含测试的目录:

project/
|
|-- test/
|    |
|    |-- __init__.py
|    |-- test_1.py
|
|-- my_submodule/
     |
     |-- test/
          |
          |-- __init__.py
          |-- test_2.py

Run Code Online (Sandbox Code Playgroud)

我怎样才能运行所有测试?

python -m unittest discover . 只运行test_1.py

显然 python -m unittest discover my_submodule 只运行test_2.py

che*_*ner 5

unittest目前被视为project/my_submodule要忽略的任意目录,而不是要导入的包。只需添加project/my_submodule/__init__.py即可更改。