Buildout + Nose 使用已传递选项失败

1 投票
1 回答
714 浏览
提问于 2025-04-16 03:14

在我的项目上运行了一个构建操作后,我可以用下面的命令来运行 nose

# ./bin/nosetests

----------------------------------------------------------------------
Ran 0 tests in 0.310s

但是,当我尝试传递一些选项(比如 -w 用来指定基础目录)时,我遇到了以下问题:

# ./bin/nosetests -vv --detailed-errors --exe
Usage: nosetests [options]

nosetests: error: no such option: -v

我检查了正在运行的测试文件,并删除了所有导入 getoptOptionParser 的行,以确保它们不会干扰,但我仍然遇到同样的错误。

我觉得我们正在测试的某个文件需要 getopt 才能正常工作……有没有办法让我在使用 buildout 时,nosetests 能正常运行而不出现这些错误呢?

1 个回答

5

你可以使用 noserunner 这个工具来帮助你构建项目。

下面是一个示例的配置文件 buildout.cfg:

[buildout]
parts = test
index = http://download.zope.org/simple

[test]
recipe = pbp.recipe.noserunner
eggs = pbp.recipe.noserunner
working-directory = ${buildout:directory}

这个配置会在 bin 目录下创建一个叫 test 的脚本。这个脚本会运行在 working-directory 中设置的路径下找到的所有测试。

撰写回答