繁体   English   中英

使用鼻子测试混合的python2和python3代码

[英]Using nose to test mixed python2 and python3 code

我有一个项目,其中同时包含python2和python3代码(它是客户端/服务器的东西;服务器是python3,但是有python2和python3客户端)。 我正在使用鼻子来处理单元测试。 目录布局基本上(当前)类似于

client2
    tests
client3
    tests
server
    tests

有没有一种方法可以设置或使用鼻子,以便使用python2运行的节点仅获得python2测试,以及类似的python3。 例如,类似:

client2
    tests2
client3
    tests3
server
    tests3

...带有一些合适的鼻子参数。 我弄乱了-m选项,但无法到达任何地方。

看起来你需要的组合--where--py3where

--py3where:

在Python 3.x下的此目录中查找测试。 功能与“ where”相同,但仅在Python 3.x或更高版本下运行时适用。 请注意,如果在3.x下存在此选项,则此选项将完全替换用“ where”指定的所有目录,因此“ where”选项无效。 [NOSE_PY3WHERE]

因此,对您而言,它将是这样的:

nosetests --where=. --where=client2 --py3where=. --py3where=client3 --py3where=server -v

当将nastest与python3一起使用时,它将仅运行client3server测试。 在python2上运行时,它将仅运行client2测试。

另外,请查看此问题和替代方法的答案

暂无
暂无

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

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