我正在使用依赖注入为我正在测试的类之外的代码提供模拟。我发现自己一遍又一遍地编写了很多相同的代码,因为我需要模拟在我想要测试的方法中使用的 AuthProvider、ConfigurationManager 等。该方法包含分支(if-then-else),因此我有多个测试来测试该方法的所有执行路径。我多次实例化每个模拟(在每种测试方法中一次),但我想知道这是否是错误的方法?此外,我对模拟和预设响应提出了期望,这些响应显然主要是复制粘贴,因为在每个方法中都会调用诸如 AuthProvider.Authenticate() 之类的调用
在每种方法中,我都设置了一个模拟存储库,并在每种方法结束时验证了模拟存储库。我是否应该有某种工厂来创建这些模拟以及设置它们的期望和返回值,如果是这样,如何?
为了实现模拟,我正在使用 RhinoMocks。