我正在尝试测试一个根据给定参数为我处理工作目录的类。为此,我们使用类变量来映射它们。
当传递特定值时,将从环境变量中检索路径(请参见baz下面的示例)。这是我正在尝试测试的具体案例。
我正在使用 Python3.8.13和unittest.
WorkingDirectory.map字典,因为我想确保我们从environ特定变量(BAZ_PATH)中获取。os.environ["baz"] = DUMMY_BAZ_PATH我尝试按照其他出版物中的建议将其模拟environ为字典,但由于某种原因我无法使其工作。
# working_directory.py
import os
class WorkingDirectory:
map = {
"foo": "path/to/foo",
"bar": "path/to/bar",
"baz": os.environ.get("BAZ_PATH"),
}
def __init__(self, env: str):
self.env = env
self.path = self.map[self.env]
@property
def data_dir(self):
return os.path.join(self.path, "data")
# Other similar methods...
Run Code Online (Sandbox Code Playgroud)
测试文件:
# test.py
import os
import unittest
from unittest import mock
from working_directory import WorkingDirectory
DUMMY_BAZ_PATH = "path/to/baz" …Run Code Online (Sandbox Code Playgroud)