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

python - 如何使用nosetest 运行shell 脚本或其他python 脚本

鼻子

是扩展 PyUnit 的测试运行器。是否可以写例如

如果没有,那么是否有插件,或者我需要自己开发它。有什么建议么 ?

0 投票
4 回答
2027 浏览

python - 如何防止鼻子导入 __init__.py 文件?

可以指示鼻子test_*.py测试框架仅在文件中运行测试吗?

实际上,nosetests A使用以下目录结构:

进口B,我想避免。

原因是 B 模块以 B 开头,import numpy因为它仅在用户安装了可选的 NumPy 模块时才使用。但是,没有安装 NumPy 的用户不希望处理鼻子测试B/__init__.py,因为import numpy即使 NumPy 是可选的,它也必然会失败。如何做到这一点?

0 投票
1 回答
172 浏览

python - 新类实例未初始化

我正在编写一个包,并像一个优秀的小程序员一样进行测试,但这就是发生的事情:

在这种情况下,test_default_search_parts以 , 失败AssertionError: ['a'] != []test_add_letter通过。我不知道这里发生了什么。当我重写时,它变得非常奇怪test_default_search_parts

发生同样的故障。我在初始化我的实例时做错了什么?

哦,我正在用鼻子来运行它们,如果这很重要的话。

0 投票
2 回答
2941 浏览

python - 如何在 Python 中为模拟函数提供条件参数?

我的项目使用 Python 对外部 API 进行各种调用urllib2.urlopen。我正在使用 NoseTests 进行单元测试,并使用 MiniMock 来模拟对urllib2.urlopen.

模拟代码:

我正在像这样运行我的测试:

最初,我在一个单独的模块中对异常进行了测试,该模块导入了一个不同的模拟文件,该文件在urlopen调用时返回了一个损坏的 XML 文件。但是,导入该模拟类会覆盖上面显示的类,因为每次都使用损坏的 XML,所以会破坏所有测试。

我认为这是因为异常测试模块是在其他模块之后加载的,因此最后调用了它的导入,并且返回损坏的 XML 的模拟函数覆盖了原始模拟函数。

我希望能够在运行 test_bar_exception 时告诉模拟代码使用损坏的 XML 文件,以便引发异常。我该怎么做呢?

0 投票
1 回答
256 浏览

php - 我是一名转换为 python 的 php 程序员。请解释单元测试的重要性(或非重要性)。我从来没有用 php 进行单元测试!

在我学习可靠的软件开发的过程中,我意识到“以光速从踏板到奖牌的代码并祈祷没有真正计划的好结果”的方法行不通。

我正在寻求用扎实的实践来取代我以前的(当然也不是很好)的方法。我以前从未使用过单元测试,现在除了尝试学习金字塔(由于详尽的文档而进展顺利),我还试图了解单元测试总体上如何使我受益(将来还会添加集成测试,回归测试等)。我阅读了nosetest http://ivory.idyll.org/articles/nose-intro.html的介绍,并且(不要轻率)我看到您可以使用单元测试来测试正则表达式,并查看if a=1; b=1; now does a == b. 这就是我目前所能看到的。我不需要一个框架。我可以使用正则表达式测试器和常识来“测试”。如果我要使用单元测试来查看两个变量是否相等,那么我是否每次创建变量并将其设置为等于某个值时都必须创建一个测试?文章中的例子似乎有点武断。

我对学习单元测试的好处持开放态度,但我想知道单元测试的一些实际应用是什么。

底线:我以前从未使用过单元测试,所以请告诉我为什么我错了,应该开始使用测试。

干杯!!

0 投票
5 回答
5989 浏览

python - 我如何告诉 django-nose 我的测试在哪里?

我在测试目录中对 Django 应用程序进行了测试:

__init__.pyDjango 测试运行程序要求我在应用程序测试目录的文件中放置一个 suite() 函数。该函数返回当我执行 $ python manage.py test 时将运行的测试用例

我安装了 django-nose。当我尝试使用 django-nose 运行测试时,运行了 0 个测试:

如果我直接指向测试模块,则运行测试:

为什么 django-nose 的测试运行器找不到我的测试?我必须做什么?

0 投票
1 回答
1011 浏览

python - Python 在覆盖和鼻子下运行时看不到子模块

当我使用coverage.py 运行一系列测试时出现导入错误,其中nose 是底层测试运行器。如果我只是在 Python 下运行,测试运行良好。

这似乎不是路径错误,而是当我通过执行“覆盖运行”运行测试时,“nova”模块的子模块似乎不可见。我通过将以下代码添加到失败的方法中发现了这一点:

当我运行它时python run_tests.py,我看到以下输出:

但是,当我将其作为 运行时coverage run run_tests.py,我会看到以下输出:

似乎它在每种情况下都在同一个地方找到了 nova 模块,但是在我覆盖运行它的情况下,Python 看不到大多数子模块:(auth,compute,...)console。

请注意,当我为鼻子使用覆盖插件时,不会发生此问题,但在这种特殊情况下,我不想使用该插件。

0 投票
4 回答
807 浏览

python - Python 鼻子测试(实际上错误来自 Mox)每行打印一个字符(带有行号!)

我最近开始使用 Nose 进行单元测试。它非常好,只是有时当发生错误时,它会以一种非常奇怪的方式打印出错误信息。它把它分成每行 1 个字符,然后用行号打印出来。有谁知道如何解决这个问题?

以此类推为 1346 行!

编辑:

它不会让我在 8 小时内回答我自己的问题,所以我正在编辑我找到的解决方案:

正如 Aaron Digulla 指出的那样,问题不在于鼻子,而在于 Mox(我用它来模拟对象)。

将此行添加到mox.py 中 ExpectedMethodCallsError的str方法的顶部可以解决问题(或者无论如何都会出现此症状):

0 投票
1 回答
2111 浏览

python - Nosetest 包括不需要的父目录

我试图将鼻子测试限制到特定目录,但是在测试运行期间它包括我要定位的目录的父目录,这样做会引发错误。

以下是测试运行输出的关键元素:

我正在buildout使用pbp.recipe.noserunner. 这是相关/projects/myproject/buildout.cfg部分:

我也尝试设置where=myproject/specsdefaults参数之一来帮助限制导入,但仍然没有乐趣。

关于我要去哪里错的任何建议?

编辑:

我已经尝试过--exclude父目录,但没有任何乐趣。

0 投票
0 回答
121 浏览

windows - 防止鼻子测试在 Windows 中关闭

我正在运行 Windows 7 并正在尝试运行鼻子测试。

它已经安装并且我可以成功运行它,除了当我运行它时(通过在 cmd 窗口中输入“nosetests”),它会打开一个新的 cmd 窗口并输出 - 但是这个窗口在我看到什么之前关闭它说。如何防止结果关闭以便我可以看到它们?

我是一个真正的n00b,以防你没有注意到。