问题描述
背景
我最近开始研究一个包含很多代码的旧项目。而且没有任何测试。 因此,我认为写一些测试是一个好习惯。但是我遇到的问题是,所有脚本都从我对单元测试不感兴趣的其他代码中导入了大量信息。
项目结构如下:
ProjectFolder
-SourceCodeFolder
__init__.py
-code1.py
-code2.py
-TestFolder
__init__.py
-test.py
code2.py
from code1 import thing_a,thing_b
execute_important_stuff()
A_CONSTANT_VALUE = 10
with open():
do_stuff
def testable_function():
call a function with A_CONSTANT_VALUE
class ThisIsAClass:
class_stuff
所以说我想在单元测试中测试testable_function。但是我的问题是,当我导入要测试的功能时,会执行大量的代码。我相信我的嘲笑和修补技术在这项艰巨的任务中无法与之媲美。
问题
说我想测试一个超级简单的东西。 A_CONSTANT_VALUE的值== 10吗? 这就是我的追求:
import unittest
from code2 import A_CONSTANT_VALUE as cv
class TestBasic(unittest.TestCase):
def test_value(self):
self.assertEqual(cv,10)
if __name__ == '__main__':
unittest.main()
问题是我无法对此进行测试,因为大量的导入和函数调用会破坏代码。我知道这是python代码的工作方式。但是,我如何只隔离和测试一个函数,而忽略诸如导入和打开文件操作之类的代码?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)