我试图理解python中的单元测试。如果我有一个具有大nix-copy-closure
函数的类,并且我正在为这个类的成员函数编写单元测试,这需要引用__init__
对象,那么最好的方法是什么关于它?
作为后续操作,其中一些函数可能是self
,但我们决定保持pythonic,并保留@staticmethods
,以便有更简单的方法为这些函数编写测试代码吗?
答案 0 :(得分:1)
通过单元测试,我假设你的意思是Python中的unittest
库。您可以在setUp()
方法中为每个测试类实例化您的类。像这样:
class Test_MyClass(unittest.TestCase):
def setUp(self):
my_args = get_my_args()
m = MyClass(my_args)
def test_my_method(self):
self.assertEqual(self.m.my_method(some_input), some_result)
答案 1 :(得分:0)
如果实例化您的类需要很长时间,并且多个测试可以使用相同的实例,则可以使用setUpClass
import unittest
class MyTests(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.obj = MyClass()
def test_stuff(self):
self.assertEqual(self.obj.thing, 10)