我试图os.environ在课堂上进行模拟,但我就是做对了。这是我的结构:
#file.py
import os
class MyClass():
connection_url = os.environ['DB']
#some code
Run Code Online (Sandbox Code Playgroud)
这是我的测试(无论如何都是最新的尝试):
#test.py
from unittest import TestCase
from unittest.mock import patch
from file import MyClass
class TestMyClass(TestCase):
@patch.dict('file.os.environ', {'DB' : 'Dummy' })
def setUp(self):
self.class = MyClass()
#some testing
Run Code Online (Sandbox Code Playgroud)
这是悲惨地失败,引发 KeyError 'DB' ... 有人可以帮助我吗?我是 python 单元测试的新手。我研究了一些博客和 stackoverflow,尝试了一些解决方案,但无法解决问题。
提前致谢!