python - 无法让 Nose 遵守我在测试中设置的属性

标签 python django testing nose django-nose

我将 Django 1.7 与 django-nose 1.4 和 nose 1.3.6 一起使用。

根据documentation ,我应该能够使用属性选择要运行的测试。我有一个这样的测试集:

from nose.plugins.attrib import attr
from django_webtest import TransactionWebTest

@attr(isolation="menu")
class MenuTestCase(TransactionWebTest):

    def test_home(self):
        pass

当我尝试运行我的测试时:

./manage.py test -a isolation

Nose 消除了运行中的所有测试。换句话说,它不运行任何 测试。请注意,当我不使用 -a 时,所有测试都运行良好。我也试过:

  • -a=isolation
  • -a isolation=menu
  • -a=isolation=menu
  • -a '!isolation'

最后一个应该选择我几乎所有的测试套件,因为 isolation 属性只用在一个类上,但它没有选择任何东西!我开始觉得我只是不明白整个属性系统是如何工作的。

最佳答案

我不清楚是什么导致了这个问题。这可能与 Django 如何将命令行参数传递给 django-nose,然后将它们传递给 nose 有关。无论如何,使用长形式的命令行参数可以解决问题:

$ ./manage.py test --attr=isolation

类似地:

  • --attr=isolation=menu
  • --attr='!isolation'(使用单引号防止 shell 形式解释 !)
  • --eval-attr=isolation
  • --eval-attr='isolation=="menu"'(单引号防止 shell 删除双引号)
  • 等...

关于python - 无法让 Nose 遵守我在测试中设置的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30263087/

相关文章:

python - 按键时的 Sprite 动画

python - Django Crispy Forms 添加 HTML 属性

android - 如何测试启动新 Activity 的方法?

java - webEnvironment = RANDOM_PORT 和 webEnvironment = MOCK 之间的区别

python - 在 xubuntu 上使用 gnuplot 保存图表

python - 二维数组一维中的 Numpy 局部最大值

python - 按日期对元组列表进行排序

python - Django 错误 "Reverse for ' x' 未找到。 'x' 不是有效的 View 函数或模式名称。”,但 x 是模式名称

python - 从 djangoviews.py 中找不到 Matlab 脚本

asp.net - 在慢速连接下模拟/测试性能的最佳方法?