我真的试图开始隔离我的单元测试,以便我可以查明发生错误的位置,而不是在出现问题时让整个屏幕变红并出现故障。它在所有情况下都有效,除非初始化程序中的某些内容失败。
看看这些测试:
@setup_directory(test_path)
def test_filename(self):
flexmock(lib.utility.time).should_receive('timestamp_with_random').and_return(1234)
f = SomeFiles(self.test_path)
assert f.path == os.path.join(self.test_path, '1234.db')
@setup_directory(test_path)
def test_filename_with_suffix(self):
flexmock(lib.utility.time).should_receive('timestamp_with_random').and_return(1234)
f = SomeFiles(self.test_path, suffix='.txt')
assert f.path == os.path.join(self.test_path, '1234.txt')
我正在嘲笑依赖方法,以便我正在测试的东西是完全隔离的。您注意到的是,每个测试都需要实例化该类。如果在初始化程序中引入错误,则每个测试都会失败。
这是调用类的初始化程序的有问题的构造函数:
SomeFiles(*args)
有没有办法隔离或模拟初始化程序或对象构造函数?