有人知道nosetest的-m、-i和-e是如何工作的吗?
我试图让鼻子测试来识别我的测试,但它没有正确运行我的任何测试。
我有以下文件结构
Project
+----Foo/
+----__init__.py
+----bar.py
+----test/
+----__init__.py
+----unit/
+----__init__.py
+----bar_test.py
+----functional/
+----__init__.py
+----foo_test.py
在 bar_test.py
class BarTest(unittest.TestCase):
def bar_1_test():
...
在 foo_test.py
class FooFTest.py
def foo_1_test():
...
使用鼻子测试的 -m、-i、-e 选项
- 什么是正则表达式 我只需要运行单元测试(在单元/下,类 BarTest 中的测试)
- 什么是正则表达式 我只需要运行功能测试(在功能/下,类 FooFTest 中的测试)
我已经尝试了各种组合,但似乎无法让鼻子测试一致地执行我想要的操作
I am trying to get nosetests to identify my tests but it is not running any of my tests properly.
I have the following file structure
Project
+----Foo/
+----__init__.py
+----bar.py
+----test/
+----__init__.py
+----unit/
+----__init__.py
+----bar_test.py
+----functional/
+----__init__.py
+----foo_test.py
Within bar_test.py
class BarTest(unittest.TestCase):
def bar_1_test():
...
Within foo_test.py
class FooFTest.py
def foo_1_test():
...
Using -m, -i, -e options of nosetests
- What is the regex I need to run only unit tests (under unit/, tests in class BarTest)
- What is the regex I need run only functional tests (under functional/, tests in class FooFTest)
I've tried various combinations and can't seem to get nosetests to do what I want consistently
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
仅运行
Project/test/unit
下的测试的最简单方法是使用--where
。例如:然后使用
--match
(-m
) 或--exclude
(-e
) 进行细化列表(如果需要)。如果您仍然想使用正则表达式选择器,您可能可以这样做(未测试):
从
Project
目录执行此脚本将运行以“Foo”开头并以“”结尾的所有测试[Tt]est”。作为一般规则,您可能想要使用
--match
或--exclude
,但不能同时使用两者。这些参数都指定要匹配的函数名称的模式。您可以使用--ignore-files
优化任一文件,这自然允许您忽略整个文件。The easiest way to run only the tests under
Project/test/unit
is to use--where
. For example:Then use
--match
(-m
) or--exclude
(-e
) to refine the list, if needed.If you still want to use the regex selectors, you can probably do it like this (not tested):
Executing this script from the
Project
directory would run all tests that start with "Foo" and end in "[Tt]est".As a general rule, you probably want to use either
--match
or--exclude
, but not both. These parameters both specify the pattern of the function names to match. You can refine either one by using--ignore-files
which, naturally, allows you to ignore whole files.给定您的目录结构,您可以使用 --exclude 选项轻松运行测试片段。
运行所有测试:
运行单元测试:
运行功能测试:
如果您有更复杂的测试执行需求,我建议标记测试并使用attrib 包。
Given your directory structure, you can easily run segments of the tests using the --exclude option.
Run all tests:
Run unit tests:
Run functional tests:
If you have more complex test execution needs, I'd recommend marking the tests and using the attrib package.