繁体   English   中英

如何通过 python-active-directory 模块中的 setup.py 运行单个鼻子测试?

[英]How do I run a single nosetest via setup.py in the python-active-directory module?

我顽固地尝试将 Python 模块https://github.com/theatlantic/python-active-directory转换为 Python 3。你可以在这里看到我的努力https://github.com/nbmorgan/python-active-directory/树/master3

我想出了以下几点,我可以通过以下任一方式在克隆项目中运行测试套件:

  1. export TEST_CONF_NAME="test.conf" ; python setup.py test export TEST_CONF_NAME="test.conf" ; python setup.py test
  2. export TEST_CONF_NAME="../test.conf" ; python setup.py nosetests

这将创建一个巨大的输出,顶部的第一个简单测试。 我曾尝试使用 setup 或 nosetest 帮助中描述的几种形式的 run single test 变体,但我通常会遇到module not found错误或某些test not defined变体。

如果有人可以指向我的命令行,让我只运行: test_client.TestADClient.test_domains ,那就太棒了。

现在我正在使用: export TEST_CONF_NAME="../test.conf" ; python setup.py nosetests 2>&1 | cat -n | head -80 | tail -31 export TEST_CONF_NAME="../test.conf" ; python setup.py nosetests 2>&1 | cat -n | head -80 | tail -31 export TEST_CONF_NAME="../test.conf" ; python setup.py nosetests 2>&1 | cat -n | head -80 | tail -31这很俗气,但让我知道了信息。

我要感谢作者进行了测试——这使得对重构的冷酷方法成为可能。 我不是 Python 模块构建器,只是试图提供帮助的模块用户。

是否需要使用setup运行? 我像这样运行某些测试:

nosetests tests/core/test_client.py:TestADClient.test_search --collect
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK

但实际运行失败,因为测试使用 pytest 固定装置(测试的 conf 参数)。 所以你需要使用 pytest 运行它。

$ pytest tests/core/test_client.py::TestADClient::test_search -vv
============================ test session starts ============
...
collected 1 item                                                             
tests/core/test_client.py::TestADClient::test_search SKIPPED                           [100%] 

看起来像一个副本:

如何使用“pip install”运行单元测试? 我前段时间回答过。

但是 - setup.py test已被弃用,所以我不会将它用于新的开发。

看看: https : //setuptools.readthedocs.io/en/latest/setuptools.html#test-build-package-and-run-a-unittest-suite

因此,对于新项目,我建议使用 makefile。

make install
make test
make clean 
# etc ... 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM