问题标签 [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 投票
2 回答
477 浏览

python - 如何防止 Nose 运行和报告重复测试?

我正在使用django-nose来测试我们的 Django 项目。在 Django 中的应用程序中拆分大型测试套件很常见,如下所示:

tests/__init__.py看起来像这样:

由于 Django 将在 中查找测试myapp.tests,因此一切都按预期进行。另一方面,鼻子会找到测试tests_*.py 再次将它们导入__init__.py. 这导致报告的测试总数是应有的两倍。

解决这个问题的任何方法(除了从不使用子模块)可以正确报告使用 django-nose 和默认 Django 测试运行器的测试?

0 投票
2 回答
1102 浏览

python - Nose / Nosegae:进口问题

我有这个问题,它让我发疯!

所以我正在开发我的第一个真正的 Google App Engine 应用程序,我总是喜欢在编写测试时发现一些东西。

所以我有以下设置:
我有一个带有nose、nosegae、webtest 和gaetestbed 的virtualenv。它被称为porksvr。

我像这样激活我的virtualenv:

要运行鼻子,我使用以下命令:

这给了我以下错误

所以起初我想“好吧,nose 正在 dev_appserver 的‘上下文’中运行应用程序,所以它不知道 webtest”。

但可以肯定的是,我创建了一个新目录并添加了一个小型 GAE 应用程序。它只有 3 个文件:
-main.py
-app.yaml
-test_huh.py (导入 webtest 模块。)

现在真正让我感到困惑的是,这只是工作。我运行nosetests cmds,它实际上通过了我的测试。

所以我开始在我的应用程序中挖掘,找出可能有什么不同,但我真的碰壁了。

我首先认为这可能是权限问题,因为错误显示“访问...拒绝”,但我真的找不到任何特别之处。接下来我想可能是因为我在 virtualenv 之前创建了我的应用程序,但我真的不明白这怎么会是个问题。

因此,如果有人知道为什么会发生这种情况,我将非常感激。

0 投票
2 回答
1970 浏览

python - 检查函数是否通过鼻子测试引发警告

我正在使用鼻子编写单元测试,我想检查一个函数是否引发警告(函数使用warnings.warn)。这是一件很容易做到的事情吗?

0 投票
3 回答
4505 浏览

python - Python单元测试:使鼻子显示失败的断言值

是否可以显示失败的断言值?它显示了回溯和抛出了什么样的异常,但知道哪些值失败会更实际。

例子:

0 投票
5 回答
5672 浏览

python - 如何让 py.test 或鼻子在所有 python 文件中查找测试?

我确实有几个小模块,其中测试在其中,py.test或者nose不查找它们,因为它们test的文件名中不包含它们。

我怎样才能说服py.testnose在所有 python 文件中递归地查找测试 - '''包括文件名中没有的那些test'''?

在源文件中,我确实保留了标准命名约定:class testSomeNamewith methods def test_some_name

如果这是不可能的,我可以使用什么其他解决方案来获得相同的结果。

我不想手动创建包含测试的所有文件的列表,我想要一个支持发现的解决方案。

0 投票
6 回答
61724 浏览

testing - 如何在 Pylons 中使用 Nose 运行单个测试

我有一个 Pylons 1.0 应用程序,在 test/functional 目录中有一堆测试。我得到了奇怪的测试结果,我只想运行一个测试。鼻子文档说我应该能够在命令行中传递一个测试名称,但是无论我做什么我都会得到 ImportErrors

例如:

给出:

我得到同样的错误

什么是正确的语法?

0 投票
4 回答
86250 浏览

python - 如何更改 Python AssertionError 中的消息?

我正在按照以下内容编写,在比较两个多行 Unicode 文本块时,我尝试生成一个体面的错误消息。进行比较的内部方法提出了一个断言,但默认解释对我来说没用

我需要在代码中添加一些内容,如下所示:

我无法弄清楚如何在我捕获的 assertionerror 中更改打印的错误消息。我总是得到AssertionError: u'something' != 'something else',它只显示输出的第一行。

如何更改断言消息以打印出我想要的任何内容?

如果它是相关的,我正在使用它nose来运行测试。

0 投票
1 回答
2068 浏览

python - 蟒蛇鼻子和扭曲

我正在为一个函数编写一个测试,该函数使用 Twisted 从一个 url 下载数据(我知道 twisted.web.client.getPage,但是这个增加了一些额外的功能)。无论哪种方式,我都想使用nosetests,因为我在整个项目中都在使用它,而且仅将Twisted Trial 用于这个特定的测试看起来并不合适。所以我想做的是:

在 localhost:8000 上侦听测试服务器。问题是我总是得到twisted.internet.error.DNSLookupError

DNSLookupError: DNS lookup failed: address 'localhost:8000' not found: [Errno -5] No address associated with hostname.

有没有办法解决这个问题?有没有人真正使用nose.twistedtools?

更新:更完整的回溯

更新 2

我的错,似乎在 getPage 的实现中,我正在做类似的事情:

obj = urlparse.urlparse(url) netloc = obj.netloc 并在我应该通过时将 netloc 传递给工厂netloc.split(':')[0]

0 投票
2 回答
782 浏览

python - 为什么 python nose unittest 拆解夹具失败

我正在使用鼻子测试框架。运行测试模块时,其中定义的拆卸功能失败。引发的错误表示夹具被另一个进程锁定。这是我的测试模块test_my_module.py

test_output_dir中有一个 db(sqlite3) 文件,用作夹具。实际上,由于它被其他进程锁定,因此无法通过拆卸删除该 db 文件。据我了解,在所有测试功能完成运行后,将始终运行拆解。那么为什么会这样呢?为什么那些测试功能仍然可以锁定 db 文件?是 sqlite3 问题还是我的测试代码有问题?

0 投票
3 回答
20379 浏览

python - 你如何从pycharm运行nosetest?

你如何从pycharm执行nosetest来运行所有单元测试?

我知道 pycharm 支持 python 的 unittest 和 py.test 并且它们将正确支持 pycharm 1.1 中的鼻子测试,但我想知道是否有解决方法。