我已经编写了一个鼻子测试用例,并希望为另一个测试用例继承相同的对象,因为我只想更改一个参数。
所以,只是为了理解它是如何工作的,我尝试使用2个类NoseTesting
和NoseTestingInherit
来模拟以下内容。
当我运行时:
当我运行代码时,我得到以下结果:
----------------------------------------------------------------------
Ran 0 tests in 0.000s
我不确定使用哪种测试方法 - 是test_this_method_dup
还是test_this_method
?
class NoseTesting():
def test_this_method_dup():
print "Test this method"
class NoseTestingInherit(NoseTesting):
def test_this_method():
print "Test this method"
新守则: -
import unittest
class NoseTesting(unittest.TestCase):
def test_this_method_dup(self,):
print "Test this method"
class NoseTestingInherit(NoseTesting):
def test_this_method(self,):
print "Test this method"
输出 :
test_this_method_dup (nosetesting.NoseTesting) ... ok
test_this_method (nosetesting.NoseTestingInherit) ... ok
test_this_method_dup (nosetesting.NoseTestingInherit) ... ok
----------------------------------------------------------------------
Ran 3 tests in 0.003s
OK
答案 0 :(得分:1)
答案 1 :(得分:0)
正如@IanAuld所说,nosetest
没有发现你的测试。根据您的示例,如果您没有重写该方法,则无需显式重写该方法,因为它是隐式继承的。
class NoseTesting(unittest.TestCase):
def test_this_method_dup(self):
print "Test this method"
class NoseTestingInherit(NoseTesting):
# implicitly inherit test_this_method_dup()
# self.test_this_method_dup()