我正在尝试使用 nosetests 作为我的构建/发布链的一部分,它基于 distutils2(使用 setup.cfg文件而不是“遗留”setup.py 脚本)。
不幸的是,当我发出:
pysetup run test
我得到:
running test
running build
running build_py
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
...然而,如果我从同一位置发出 nosetests,我可以看到所有正在执行的测试。我的目录结构如下:
|-- docs
|-- my_package
| |-- __init__.py
| |-- foobar.py
| `-- tests
| `-- foobar_test.py
|-- README.md
|-- requirements.txt
`-- setup.cfg
我的 setup.cfg 文件的相关部分包含:
[test]
runner = nosetests
我做错了什么?官方文档在这一点上并不完美......
请您参考如下方法:
你试过吗:
pysetup run test --runner=nosetests
我有同样的问题,在我看来 distutils2 不太关心我在 [test] 部分输入的内容(我可以写任何东西,它永远不会引发错误)。
无论如何它都不会运行,因为 --runner 和 --suite 选项都需要一个模块。
我能够运行测试的唯一方法是使用“类似 run_tests.py”的模块,我将其放入包中,然后调用:
pysetup run test --suite=package_were_tests_runner_is.run_tests
