首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在nose2中运行单个测试用例

如何在nose2中运行单个测试用例
EN

Stack Overflow用户
提问于 2016-11-10 19:20:08
回答 1查看 1.2K关注 0票数 0

我想使用nose2How to run specific test in Nose2之后运行包含在unittest.TestCase的子类中的单个测试,但它似乎对我不起作用。我使用了以下示例脚本,我将其命名为mickey_mouse_test.py

代码语言:javascript
复制
import unittest

class TestMickeyMouse(unittest.TestCase):
    def test_1plus1is2(self):
        self.assertTrue(1+1 == 2)

    def test_to_uppercase(self):
        self.assertEqual("hello".upper(), "HELLO")

if __name__ == "__main__":
    unittest.main()

如果我在同一目录中运行nose2 mickey_mouse_test,它将运行模块中的所有测试:

代码语言:javascript
复制
kurt@kurt-ThinkPad:~/Documents/Scratch$ nose2 mickey_mouse_test
..
----------------------------------------------------------------------
Ran 2 tests in 0.001s

OK

然而,如果我尝试像这样运行test_to_uppercase,我会得到一个错误:

代码语言:javascript
复制
kurt@kurt-ThinkPad:~/Documents/Scratch$ nose2 mickey_mouse_test.test_to_uppercase
E
======================================================================
ERROR: mickey_mouse_test.test_to_uppercase (nose2.loader.LoadTestsFailure)
----------------------------------------------------------------------
AttributeError: module 'mickey_mouse_test' has no attribute 'test_to_uppercase'

----------------------------------------------------------------------
Ran 1 test in 0.001s

FAILED (errors=1)

如果我使用-s选项,我仍然得到一个错误,尽管是一个不同的错误:

代码语言:javascript
复制
kurt@kurt-ThinkPad:~/Documents/Scratch$ nose2 -s mickey_mouse_test.test_to_uppercase
E
======================================================================
ERROR: mickey_mouse_test.test_to_uppercase (nose2.loader.LoadTestsFailure)
----------------------------------------------------------------------
OSError: /home/kurt/Documents/Scratch/mickey_mouse_test.test_to_uppercase is not a directory

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (errors=1)

我也试过阅读http://nose2.readthedocs.io/en/latest/usage.html中的“指定要运行的测试”部分,其中指出“Python object part”应该是一个“点分名称”。我不明白为什么在这种情况下,mickey_mouse_test.test_to_uppercase不是一个“点分的名字”。你知道为什么这不起作用吗?

EN

回答 1

Stack Overflow用户

发布于 2016-11-10 19:25:17

这里有一种不使用nose2而只运行test_to_uppercase的方法(遵循Running single test from unittest.TestCase via command line):

代码语言:javascript
复制
kurt@kurt-ThinkPad:~/Documents/Scratch$ python mickey_mouse_test.py TestMickeyMouse.test_to_uppercase
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40526342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档