nosetests 执行不以 test 开头的方法
nosetests executing methods that not start with test
我写了一个 nosetest class 来测试一个特定的方法 - test_method()
当我 运行 这个模块时,我注意到 nosetests 运行 我们也使用其他方法 - create_test_private_method.
我认为 nosetests 只会测试以 test_ 开头的方法。
import unittest
class test(unittest.TestCase):
def create_test_private_method(self):
self.assertEqual(1,1)
def test_method(self):
self.assertEqual(2,2)
输出:
create_test_private_method (nosetest.test) ... ok
test_method (nosetest.test) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.009s
OK
Any python source file, directory or package that matches the testMatch regular expression (by default: (?:^|[b_.-])[Tt]est) will be collected as a test (or source for collection of tests).
要避免这种行为,您可以
- 重命名您的方法
- 用
nose.tools.nottest
decorator 装饰你的方法(正如 Oleksiy 指出的那样)
- 定义一个custom tests selector。
我写了一个 nosetest class 来测试一个特定的方法 - test_method()
当我 运行 这个模块时,我注意到 nosetests 运行 我们也使用其他方法 - create_test_private_method.
我认为 nosetests 只会测试以 test_ 开头的方法。
import unittest
class test(unittest.TestCase):
def create_test_private_method(self):
self.assertEqual(1,1)
def test_method(self):
self.assertEqual(2,2)
输出:
create_test_private_method (nosetest.test) ... ok
test_method (nosetest.test) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.009s
OK
Any python source file, directory or package that matches the testMatch regular expression (by default: (?:^|[b_.-])[Tt]est) will be collected as a test (or source for collection of tests).
要避免这种行为,您可以
- 重命名您的方法
- 用
nose.tools.nottest
decorator 装饰你的方法(正如 Oleksiy 指出的那样) - 定义一个custom tests selector。