- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面是我的问题的简化说明:
import sys
import nose
def test_equality_stdalone():
assert "b" == "b"
def test_inequality_stdalone():
assert "b" != "c"
def test_xxx_stdalone():
assert "xxx" == "xxx"
class TestClass(object):
def setUp(self):
pass
def tearDown(self):
pass
def test_equality(self):
assert "a" == "a"
def test_xxx(self):
assert "xxx" == "xxx"
if __name__ == "__main__":
nose.main(argv=sys.argv[:] + ["-v", "-m", ".*equality.*", __file__])
此测试脚本执行后会产生 -
zzztest.test_equality_stdalone ... ok
zzztest.test_inequality_stdalone ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.003s
OK
虽然这 -
nose.main(argv=sys.argv[:] + ["-v", "-m", ".*Class.*", __file__])
产量 -
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
还有这个 -
nose.main(argv=sys.argv[:] + ["-v", "-m", "", __file__])
产量 -
zzztest.TestClass.test_equality ... ok
zzztest.TestClass.test_xxx ... ok
zzztest.test_equality_stdalone ... ok
zzztest.test_inequality_stdalone ... ok
zzztest.test_xxx_stdalone ... ok
----------------------------------------------------------------------
Ran 5 tests in 0.004s
OK
有人可以帮我弄清楚如何从 TestClass 中仅选择一些方法进行测试吗?
附注-根据文档(如下) nose.main(argv=sys.argv[:] + ["-v", "-m", ".*Class.*", __file__])
应该有至少进行了一些测试。
-m REGEX, --match=REGEX, --testmatch=REGEX
Files, directories, function names, and class names
that match this regular expression are considered
tests. Default: (?:^|[\b_\.\-])[Tt]est
[NOSE_TESTMATCH]
P.P.S。 -不是 nose framework command line regex pattern matching doesnt work(-e,-m ,-i) 的重复项。如果您阅读问题并看到我传递给nose.main()的3个不同输入,那么您会发现问题不是“-m”过滤器根本不起作用,而是它仅适用于独立测试情况,同时总是忽略 TestClass 中的方法。
最佳答案
了解 Nose 如何匹配它想要的测试非常重要。对于类名、函数名和目录来说,它是独立发生的。查看 selector.py
来解开这个谜团,但简短的故事是:您的正则表达式查询必须与类名称(在您的情况下为 TestClass
)和类方法匹配(test_equality
或 test_xxx
)同时进行。因此,如果您想运行 TestClass.test_xxx
,您可以使用以下内容:
nosetests zzztest.py -v --match="(TestClass|test_xxx$)"
zzztest.TestClass.test_xxx ... ok
----------------------------------------------------------------------
Ran 1 test in 0.002s
OK
如果该类作为正则表达式的一部分不匹配,则它的方法不会被视为测试,也不会根据正则表达式进行评估,因此您将获得 0 个测试。
这里唯一的区别是美元符号匹配类测试方法,但无法匹配独立方法。如果您有名称相同的独立方法和类方法,您将无法使用 --match
正则表达式过滤器区分这两者。
关于python - 如何在nosetests中使用正则表达式(即-m)在夹具中选择一些测试方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32992608/
当我将它加载到 Jenkins 中时,我首先注意到了这个项目的问题。更令人费解的是,我已经能够按如下方式重现它: 在项目的原始版本中,以下命令按预期运行测试: .venv/bin/python set
.noserc [nosetests] with-xunit 使用以下命令运行 Nose 测试 nosetests -w ./test/unit_test 当我使用nosetests 运行测试时,它不
嗨,所以我想知道是否有办法修复nosetests断言失败的输出。我有一个名为“t.py”的简单脚本: import unittest from nose.tools import assert_equ
我有一些功能: def reverse_number(num): try: return int(num) except ValueError: ret
我正在使用 Jenkins 设置一个 Python 持续集成服务器,nosetests 不断运行相同的测试两次。我不会在任何地方导入测试。这是我正在运行的命令: nosetests --with-xc
我正在尝试为随机输入数字游戏编写一些测试,但不太确定如何继续。 我正在关注来自 http://inventwithpython.com/chapter4.html 的 Python 游戏 使用文件 t
我正在(我必须)在 python 中动态创建测试以与 nosetests 一起运行,如下所示: def my_verification_method(param): """ descripti
我尝试用 Nose 测试但是当我运行下面的测试用例时 import unittest class TestSuite(unittest.TestCase): b = [] def se
使用 nose 1.3.7 和命令行选项后的文档列表 --xunit-prefix-with-testsuite-name Whether to prefix the class name under
NoseTests 的文档看起来非常简单,但我无法在任何地方找到初始设置的答案。我已经完成 pip install nosetests 并且一切顺利,但是当我在我的 django 项目的根目录下键入“
我正在尝试使用 nosetests 在这样的目录结构中运行我的测试 src - file1.py - ... test - helper.py - test_file1
我正在尝试编写一个包含生成器的测试类,并使用 nosetests 运行测试。但是,我对 nosetests 测试运行器似乎隔离测试类中的方法的方式感到困惑,因此它们不共享相同的 self: class
我正在使用 pycharm 并尝试运行单独的测试。我的“运行所有测试有效(使用 py.test),但我想运行特定测试。当我尝试运行 Nosetest 时,我收到此错误: django.core.exc
我编写的 Nose 单元测试相当完整,但结果是它们可能需要一段时间才能运行。我希望能够传递一个可选的命令行参数来运行一些快速版本的测试(例如,尝试一些可能的输入,而不是每个可能的输入)。 理想情况下,
对于我的代码导入的第 3 方模块,我从 nosetest 收到弃用警告。 有人知道如何消除这些警告吗? 我知道以下标志适用于同一代码的任意 python 运行: python -W ignore::
过去两天我一直在网上搜索,试图了解我在使用 WebTest 时遇到的问题。但是,我并不高兴,想知道这里是否有人可以提供帮助。 我正在使用 nose 在我正在开发的 Web 应用程序上运行测试,但似乎在
我是通过“艰难地学习 Python”来学习 Python 的,但我被困在了练习 46 ( http://learnpythonthehardway.org/book/ex46.html )。 我安装了
我试图将 nosetests 限制到特定目录,但是在测试运行期间,它包括我目标目录的父目录,这样做会引发错误。 以下是测试运行输出的关键元素: nose.importer: DEBUG: Add pa
我可以使用 nosetests 在 workflow 文件夹中运行测试: workflow maks$ nosetests .......... ---------------------------
我正在为用 python 编写的 Web 应用程序进行测试。 假设我的 test_login.py 模块中有 5 个测试。 每个测试都是一个类。 通常有一个扩展 TestFlow 类的基础测试,这是我
我是一名优秀的程序员,十分优秀!