gpt4 book ai didi

python - Nose:测试给定包中的所有模块

转载 作者:太空狗 更新时间:2023-10-30 02:34:37 27 4
gpt4 key购买 nike

我有一个包含多个子包的包,其中一个用于测试(名为 tests)。由于子包名称清楚地表明包含的模块是测试模块,所以我不希望用测试名称模式污染模块名称 nose 希望将它们包含在测试中。这就是我正在考虑的设置:

- foo
- __init__.py
...
- bar
- __init__.py
...
- baz
- __init__.py
...
- tests
- __init__.py
- something.py

现在,默认情况下 nose 不会运行在 foo.tests.something 中找到的测试。我知道 nose 接受 -i 选项来定义用于搜索测试的其他内容的正则表达式。所以 nose -i something 在这里完成工作。但是,我在 tests 包中有一堆模块,不想明确命名它们。 nose -i tests\..* 不起作用,看起来 nose 只匹配模块基本名称。作为最后的手段,我可​​以运行 nose --all-modules,但这也会检查 foo.barfoo.baz - 我我想避免这种情况。

那么,我如何指示 nose 在给定包内的所有模块中查找测试(在我的例子中是 tests)?我可以为这个任务写一个 Nose 插件,但我正在寻找一个标准的解决方案。

最佳答案

如果您在测试中使用 test_ 前缀命名文件(即将 something.py 重命名为 test_something.py,running nose 应该选择默认情况下。

你说“我不想用测试名称模式污染模块名称 nose 希望将它们包含在测试中”,但是“某物”并不是文件的描述,因为文件测试了那个东西。使用不混淆的标准方式命名测试有什么问题?

关于python - Nose:测试给定包中的所有模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7381442/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com