当运行一个简单的unittest时,将测试保留在类中有时会更容易一些。但是,我不知道如何重新加载当前模块,因此每当需要时,我必须将测试转移到单独的模块中。有办法吗?在
module: foo
import unittest
class MyObject
...
class MockMyObject
...
class TestMock(unittest.TestCase):
def setUp(self):
MyObject = MockMyObject
mocked = MyObject()
def tearDown(self):
reload(foo) # what goes here?
def testFunction(self):
mocked.do_mocked_function()
if __name__ == "__main__":
unittest.main()
我发现处理这个问题的方法是在tearDown
方法中使用import sys
和{
重新加载模块不是个好主意。在
您可以将原始类保存在一个变量中,并在
tearDown
函数中还原它。下面是一个例子:
相关问题 更多 >
编程相关推荐