0

我想用

Module functionalTestModule
    = Modules.override(new ProductionModule()).with(new TestModule());

对于测试用例,这样我就可以继承所有生产绑定并覆盖它们以进行测试(用模拟替换实例)。有没有办法用 AtUnit 做到这一点。实现模块在设计中似乎很奇怪,因为我认为我们只想继承所有生产绑定并模拟所需的绑定,但除了让测试实现模块之外,也许还有第二种方法。

也许有一种方法可以注释 AtUnit 告诉 AtUnit 测试用例中的生产模块,然后在测试用例中配置以获得 TestModule 覆盖?有这样的方法吗?

谢谢,院长

4

1 回答 1

0

我对 AtUnit 真的一无所知,但是快速浏览一下它会让它看起来就像您只是Module在测试中实现的一样。我不知道是否有其他方法可以做到这一点,但遵循这些规则你可以这样做:

public class SomeTest implements Module {
  public void configure(Binder binder) {
    binder.install(Modules.override(new ProductionModule()).with(new TestModule()));
  }
}
于 2011-02-17T19:51:27.993 回答