我一直@staticmethod
在我的一些函数上使用装饰器,以便为它们编写测试用例。我只是想测试类中的一些方法,而不必初始化整个类,所以我认为这将是一个完美的方法。
但是,现在测试代码运行良好,但实际代码给了我一个错误。大多数函数都有self
参数传递给它们,所以@staticmethod
装饰器会导致它们的失败。
有没有办法在不使用的情况下测试方法@staticmethod
?如果没有,那么在不更改大部分生产代码的情况下解决此问题的完美方法是什么?
Class DBMethod():
@staticmethod
def getVN(self, tN):
curs = self.connection.cursor()
curs.execute ('SELECT * FROM ' + tN)
vL = list(map(lambda x: x[0], curs.description))[0]
return vL
和测试类
Class DBTestClass(unittest.TestCase):
def test_getVN(self):
self.assertEqual(DBMethod.getVN(self, 'tbN'), 'VER')