问题标签 [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 回答
227 浏览

google-app-engine - 是否可以在 Hudson 运行 GAE 测试?

我有一套使用nose调用的 App Engine 测试。当我从终端运行它们时,每个测试都会成功完成,并且会生成所有报告,例如覆盖率

但是,如果我尝试从 Hudson 调用相同的命令,我会从覆盖中得到以下失败:

但是,如果我删除对coverage的调用,我的测试仍然会失败。

我已经使用Hudson成功运行了 Python 项目。是否有让我绊倒的 GAE 细微差别?

0 投票
2 回答
7736 浏览

python - 如何使用不同版本的 Python 运行 Python 鼻子测试

我们有带有古老 Python 2.4 解释器的 CentOS。

但我们想用更新的 2.5/2.6 语法编写测试。

假设我们安装了第二个 Python 解释器(例如 python2.6),有什么方法可以运行“nosetests”shell 命令并告诉它使用特定的 Python 解释器而不是默认的解释器?

0 投票
1 回答
310 浏览

python - 运行多进程

我正在尝试使用鼻子并行运行测试。

我已经设置了一个nose.cfg 文件来包含以下内容:

我需要能够使用nose.main() 或nose.run() 以编程方式运行。最好的方法是什么?如何选择考试地点?

0 投票
2 回答
606 浏览

python - 鼻子没有运行 Django 文档测试

类似于这个问题。但是,就我而言,我的模型doctest都没有运行。

我正在使用Django 1.3 beta 1

我的模型的 doctest 之一:

应该因为initial_data夹具而失败,但以防万一,我尝试了以下方法:

我尝试运行以下命令:

使用 Django 测试运行器,我只需键入以下内容即可处理我的 doctest:

有什么建议么?

0 投票
2 回答
604 浏览

python - 简化单元测试的 Lambda 函数?

我有一个运动类定义为:

我有一个测试,我想验证添加运动“橄榄球”是否包含在 sport_objects 列表中。

目前,测试很脆弱,在我知道它所在的索引处检查对象的名称:

我想将其更改为 self.assertIn() 这样测试就不会那么脆弱,并且如果索引更改也不会受到影响(因为我不关心这里的顺序)。

有没有办法在不依赖索引的情况下改变它(使用 lambda 函数?)?

编辑:

给出的两个答案都很好。我有多个断言语句,所以我的最终解决方案是:

0 投票
1 回答
568 浏览

python - 使用nose/fixture/webtest(amidoinitrite)测试cherrypy

我正在开发一个 CherryPy 应用程序,我想为它编写一些自动化测试。我选择使用鼻子测试。该应用程序使用 sqlalchemy 作为数据库后端,因此我需要使用fixture 包来提供固定数据集。我也想做网络测试。这是我将它们组合在一起的方式:

init_model(test = False)在创建所有模型的文件中有一个辅助函数。它连接到生产或测试(如果 test == True 或 cherrypy.request.app.test == True)数据库并调用create_all

然后我为这样的测试创建了一个基类:

现在我通过创建 BaseTest 的子类并调用self.app.some_method()

这是我第一次在 python 中进行测试,这一切看起来都非常复杂。我想知道我是否按照作者的意图使用上述软件包,以及它是否过于复杂。

0 投票
1 回答
382 浏览

python - 使用 Nose 进行测试的著名 Python 项目

使用 Nose 进行测试的知名 Python 项目有哪些?

0 投票
2 回答
513 浏览

python - 将自定义 Python 对象传递给鼻子测试

我正在尝试重新组织我们的自动化测试库,鼻子似乎真的很有希望。我的问题是,将 Python 对象传递给鼻子测试的最佳策略是什么?

我们的测试组织在一个 testlib 中,其中包含一组执行不同类型请求操作的模块。像这样的东西:

在某些情况下,测试模块(即 testmoda)只不过是 test_something()、test_something2() 函数,而在某些情况下,我们在 testmob 中有一个带有 test_anotherthing1()、test_anotherthing2() 函数的 TestModB 类。很酷的是鼻子很容易找到两者。

大多数这些测试功能都是请求工厂的东西,可以轻松地共享到我们服务器场的单个连接。因此我们做了很多test_something1(cnn)、TestModB.test_anotherthing2(cnn)等。

目前我们不使用nose,取而代之的是,我们有一个大杂烩,其中包含要执行的硬编码测试列表的本土驱动程序脚本。这些驱动程序脚本中的每一个都创建自己的连接对象。维护这些脚本和连接细节是痛苦的。

我想免费利用鼻子美丽的发现功能,传入我选择的连接对象。

提前致谢!

PS 连接对象不可腌制。:(

0 投票
4 回答
24376 浏览

python - 使用 nosetests --pdb 选项设置断点

nosetests --pdb让我在错误或失败时停下来,但这对我的需要来说太晚了。在执行期间单步执行代码有助于我调试问题所在。

但是,nosetests 很有帮助,因为它们允许依赖于相对导入的测试(即包中的测试)。

如何在执行测试之前设置断点?目前我正在使用:

这个解决方案是不够的。Nosetests 会干扰 pdb 输出,并且我的键盘控件(例如箭头键)已损坏。

使用导入 pdb;pdb.set_trace() 似乎是个好主意,但是 nosetests 阻止了我对 pdb 控制台的访问。

0 投票
3 回答
2640 浏览

python - 如何禁用鼻子测试的覆盖率报告

希望是一个简单的 python/django测试问题,尽管我在的文档nose中找不到答案。nose

运行测试后如何停止显示覆盖率报告./manage.py test

覆盖率报告有一个很大的问题,迫使我向后滚动几十行以获取失败测试的回溯,这真的打断了我的工作流程!我喜欢使用nose,但如果我不知道如何摆脱它,我将不得不回到香草 django 测试。

提前感谢您的想法!

这是我必须向后滚动才能找到回溯的内容: