问题标签 [unittest2]

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 投票
4 回答
8187 浏览

python - 如何让 unittest2 和 coverage.py 一起工作?

你怎么能unittest2一起coverage.py工作?

理论上类似

应该可以工作,但它目前只是出错了。

如果您是nose用户,则相当于nosetests --with-coverage.

0 投票
2 回答
279 浏览

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

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

0 投票
3 回答
29367 浏览

python - `python -m unittest discover` 不发现测试

Python 的 unittest discover 没有找到我的测试!

我一直在用鼻子来发现我的单元测试,它工作正常。从我的项目的顶层,如果我运行,nosetests我会得到:

现在 Python 2.7 unittest已经发现,我尝试使用

但我明白了

我的目录结构是:

您知道为什么 unittest 的发现算法找不到测试吗?

我在 Windows 7 上使用 Python 2.7.1 和鼻子 1.0.0。

0 投票
1 回答
235 浏览

python - 如何在 Python 中获取依赖注入对象的每个测试用例范围?

我正在使用python-inject,python 2.6(带有 unittest2)。

我们有使用注入进行测试的类,以及也使用相同值的测试用例。我们目前使用 inject.appscope 来“单一化”这些值。否则,它们将按用户实例化。

理想情况下,我想在每次测试运行后重置 A,以避免交叉污染。(目前在 tearDown() 中执行 A.reset() 之类的操作..)

inject.reqscope支持这样的东西(一组本地范围的实例),但我真的不知道在哪里调用register()& unregister()(重置注入对象缓存)。setUp()在and中 Ot 为时已晚tearDown(),因为 Foo.a 可能已经Foo.__init__()为它们中的每一个调用了。

关于如何做到这一点的任何想法,或者我应该使用不同的方法?

0 投票
1 回答
667 浏览

python - Python Unittest2 - 避免在 discover() 中包含 TestCase

我正在使用unittest2onPython2.5来发现测试unittest.TestLoader.discover,如下所示:

对于我项目基础的一些test_path人。

我有一个基类,它被许多其他人扩展和重载,但我想测试这些衍生物没有回归。让我们称该基类A及其派生类A1,A2等。

我想创建一个unittest2.TestCase基类,可以为A. 换句话说,我希望有一个像这样的层次结构:

现在的诀窍是我正在制作A一个抽象类,并且UT几乎所有可以适当通过的测试用例都将失败UT2,等等。

对我来说最简单的解决方案似乎是让 unittest2discover以某种方式“跳过” UT。我认为这可以通过将其放入一个匹配模式“test*.py”以外的文件中来实现,尽管情况似乎并非如此。

对于上述情况,是否有任何可能合适的解决方案?

我会很感激任何想法和建议。

0 投票
0 回答
589 浏览

django - Django 单元测试喷出数据库错误 - 无法提交事务 - SQL 语句正在进行中

我正在unittest2与 一起使用manage.py test,甚至在它似乎运行任何测试之前,它都会发出一个可怕的数据库错误,如下所示。我在我的开发环境中(实际上由于各种原因在 Dreamhost 服务器上),使用 sqlite 作为我的数据库。

即使我将我的应用程序从其用于生产的位置复制出来(并相应地编辑 settings.py),我仍然会收到相同的错误(即使它不应再处理与开发环境相同的数据库文件)。

更新:即使将我的数据库文件的所有实例移动到不同的文件名,我仍然会遇到同样的错误。这让我相信测试环境以某种方式查看了一个伪造的数据库,或者正在发生一些非常奇怪的事情。

基本上,我不知道从哪里开始解决这个问题。有任何想法吗?

0 投票
1 回答
97 浏览

django - 在 django 中对执行外部服务调用的视图进行单元测试时有什么好的做法

我们的视图看起来像这样:

什么是测试它的好方法?由于视图自己获取资源,我不确定如何模拟 Facebook。在我看来,另一种选择是创建一个虚假的 Facebook 服务器并在设置中提供连接详细信息。所以我们得到一个看起来像这样的单元测试:

我遇到的问题是,制作一个虚假的 Facebook 服务器似乎很麻烦。理想情况下,我宁愿能够模拟该Facebook.get_thingy方法。建议?

0 投票
1 回答
537 浏览

python - 在 LSF 上运行 python 单元测试

我需要并行化我使用默认 unittest 模块编写的 python 单元测试。我试图在两种方法之间做出决定:

  1. 继续使用unittest ,但使用自定义的“多进程”运行程序,它可以使用Platform LSF (远程执行工具)生成测试,可以在TestOOB项目中找到一个示例。
  2. 使用py.test并自定义 pytest-xdist 插件以运行 LSF 而不是 SSH。

我倾向于#1,因为我已经有了一个工作设置,尤其是测试套件生成(它使用了一个解析 excel 电子表格的生成器,并且不是微不足道的)

关于遵循特定方法的任何建议?

注意:我的公司正在使用 LSF,我必须使用它与其他团队共享资源。

0 投票
2 回答
255 浏览

python - 重命名默认 python-unittest 函数名称

python 的 unittest testrunner 查找文件中定义的 setUpModule() 以在运行模块中指定的任何测试之前执行。有没有办法使用装饰器或其他工具来重命名函数名?

例如:

将使 unittest 的加载器能够将此函数识别为 setUpModule 函数。

我使用的是带有 unittest2 包的 python2.6。

谢谢。

0 投票
2 回答
778 浏览

python - python unittest2 - exposing test method name to setup method

I need to find the name of the test method about to be run from within the SetUp() method that unittest runs before each test. How can I do this without running every test method seperately?

Example: