鼻子框架命令行正则表达式模式匹配不起作用(-e,-m,-i) [英] nose framework command line regex pattern matching doesnt work(-e,-m ,-i)

查看:23
本文介绍了鼻子框架命令行正则表达式模式匹配不起作用(-e,-m,-i)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

python nosetest 框架有一些命令行选项来包含、排除和匹配正则表达式,用于分别包含/排除和匹配的测试.

The python nosetest framework has some command line options to include, exclude and match regex for tests which can be included/excluded and matched respectively.

但是它们似乎无法正常工作.

However they don't seem to be working correctly.

[kiran@my_redhat test]$ nosetests -w cases/ -s -v  -m='_size'
----------------------------------------------------------------------
Ran 0 tests in 0.001s
OK
[kiran@my_redhat test]$ grep '_size' cases/test_case_4.py
    def test_fn_size_sha(self):

鼻子框架的正则表达式匹配语义有什么问题吗?

is there some thing wrong with regex matching semantics of nose framework?

推荐答案

Nosetests' -m 参数用于匹配目录、文件名、类和函数.(查看这个参数的nose docs解释)你的情况,您的测试文件的文件名(test_case_4.py)与-m匹配表达式(_size)不匹配,所以永远不会打开.

Nosetests' -m argument is used to match directories, filenames, classes, and functions. (See the nose docs explanation of this parameter) In your case, the filename of your test file (test_case_4.py) does not match the -m match expression (_size), so is never opened.

你可能会注意到,如果你强制鼻子打开你的测试文件,它只运行指定的测试:

You may notice that if you force nose to open your test file, it will run only the specified test:

nosetests -sv -m='_size' cases/test_case_4.py

一般来说,当我想匹配特定测试或测试子集时,我会使用 --attrib plugin,在默认的nose安装中可用.您可能还想尝试排除匹配某些模式的测试.

In general, when I want to match specific tests or subsets of tests I use the --attrib plugin, which is available in the default nose install. You may also want to try excluding tests that match some pattern.

这篇关于鼻子框架命令行正则表达式模式匹配不起作用(-e,-m,-i)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆