问题标签 [nose]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
52780 浏览

python - Python 鼻子导入错误

我似乎无法让鼻子测试框架识别文件结构中我的测试脚本下的模块。我已经设置了演示问题的最简单示例。我会在下面解释。

这是包文件结构:

foo.py 包含:

测试/test_foo.py 包含:

两个init .py 文件都是空的

如果我nosetests -vv在主目录( foo.py 所在的位置)中运行,我会得到:

当我从 tests/ 目录中运行时,我得到了同样的错误。根据我发现的文档和示例,nose 应该将所有父包添加到路径以及调用它的目录中,但在我的情况下似乎没有发生这种情况。

我正在使用 Python 2.6.2 运行 Ubuntu 8.04。如果这很重要,我已经手动构建和安装了鼻子(不是使用 setup_tools)。

0 投票
5 回答
2474 浏览

python - 是否可以让 Nose 只运行作为 TestCase 或 TestSuite 子类的测试(如 unittest.main())

我的测试框架目前基于一个 test-runner 实用程序,它本身是从 Eclipse pydev python test-runner 派生的。我正在改用 Nose,它具有我的自定义测试运行器的许多功能,但似乎是质量更好的代码。

我的测试套件包括许多以前从未运行过的抽象测试类。标准的 python 测试运行程序(和我的自定义运行程序)仅运行 unittest.TestCase 和 unittest.TestSuite 的实例。

我注意到,自从我切换到 Nose 后,它几乎可以运行任何以名称“test”开头的东西,这很烦人……因为我们用于 test-mixins 的命名约定也看起来像 Nose 的测试类。以前这些从未作为测试运行,因为它们不是 TestCase 或 TestSuite 的实例。

显然,我可以重新命名这些方法以从它们的名称中排除“测试”一词……这需要一段时间,因为测试框架非常大并且有很多继承。另一方面,如果有一种方法可以让 Nose 只将 TestCases 和 TestSuites 视为可运行的......而不是其他任何东西,那就太好了。

这可以做到吗?

0 投票
1 回答
4033 浏览

python - 在python中使用nose进行并行化测试

我有一个包含大量 .py 文件的目录(例如 test_1.py、test_2.py 等),它们中的每一个都被正确编写以与鼻子一起使用。因此,当我运行nosetests 脚本时,它会在所有.py 文件中找到所有测试并执行它们。

我现在想将它们并行化,以便所有 .py 文件中的所有测试都被视为可并行化并委托给工作进程。

似乎默认情况下,这样做:

根本没有引入并行性,所有 .py 文件的所有测试仍然只在一个进程中运行

我尝试在每个 .py 文件中放置一个 _multiprocess_can_split_ = True 但这没有区别

感谢您的任何投入!

0 投票
5 回答
3690 浏览

python - 有没有办法让 python 的鼻子模块在 __main__ 和命令行中工作相同?

我不确定如何让鼻子模块的__main__处理程序工作。我在测试模块的末尾有这个:

这给了我:

但是我通过命令行运行相同的东西,它会找到测试并执行它们:

剪辑

我一直在尝试将不同的参数传递给nose.main(),但我找不到任何有效的方法。我错过了一些非常明显的东西吗?

谢谢

0 投票
4 回答
1726 浏览

unit-testing - 在 virtualenv 中使用 gaetestbed

我想尝试一下 GAE Testbed,但在完成其主页上的说明后遇到以下错误。

我已经确认这发生在virtualenv和一个外部。

0 投票
2 回答
279 浏览

python - 是否可以使用 unit2 运行 doctest

我最近从鼻子切换到新的 unittest2 包以满足我的 python 单元测试需求。它做了我想做的一切,除了我无法获得它的“发现”命令来识别我的代码中的文档测试——我仍然必须使用鼻子来运行它们。这没有实施还是我在这里遗漏了什么?

0 投票
1 回答
1687 浏览

python - 鼻子:捕获脚本输出以及测试输出

如果我将任何打印语句放在模块的顶部,而不是在任何类/函数内,则在通过鼻子运行测试时不会打印任何内容。

将打印放在函数内虽然有效。有任何想法吗?

0 投票
2 回答
453 浏览

python - 有没有办法让新测试在未定义的测试中失败?

默认情况下,当我运行一个包含未定义的 given/when/then 子句的更新场景时,该测试被简单地标记为未定义。没有给出关于实际未定义的进一步有用信息。有没有办法改变这种行为以获取更多信息究竟是什么未定义?

0 投票
1 回答
1158 浏览

django - django-nose testrunner 不使用 --with-django 选项

运行nosetests 时,django-nose runner 不提供--with-django选项 to nosetests,因此我的nose + Twill 测试在尝试访问 URL 时失败:

当我--with-django手动提供或设置NOSE_WITH_DJANGO=1环境变量时,我的测试成功运行,但随后我收到以下异常:

nosetests --with-django成功运行测试

0 投票
1 回答
705 浏览

python - Buildout + Nose 因传递的选项选项而失败

在我的项目上运行构建操作后,我可以nose使用以下命令运行:

但是,当我尝试传递选项时(例如-w对于基本目录,我得到以下信息:

我已经检查了正在运行的测试文件,并删除了所有导入的行getoptOptionParser以确保它们不会妨碍它们,但无论如何我仍然遇到相同的错误。

我相信我们正在测试的文件之一需要getopt运行......有什么方法可以让我nosetests在没有这些错误的情况下使用 buildout?