用于创建模拟器的软件设计模式

时间:2011-03-23 18:01:24

标签: java design-patterns

我目前的任务是等待后端(DB)中的几个字段,然后在我这边修改它们。后端更改需要时间,同时,我想创建一个模拟器并开始我的更改。是否有设计模式,有人可以建议,这将帮助我为后端设计模拟器,以后,没有太多的代码更改,允许我移植到真正的后端值?

3 个答案:

答案 0 :(得分:4)

存根应该足够了。

  

Stubs为测试期间的调用提供了固定的答案,通常根本不会对测试中编程的任何内容做出任何响应。存根也可以记录有关呼叫的信息,例如记住它'发送'的消息的电子邮件网关存根,或者可能只记录它'发送'的消息。

(摘自以下链接的Fowler文章)

Java的流行模拟框架包括:

关于嘲笑的其他文章:

答案 1 :(得分:2)

完全模仿协作者的东西称为存根。您可以使用一堆框架轻松构建它:jMock,EasyMock,Mockito等。 存根不是设计模式。这是开发,测试和原型设计的一般概念。

答案 2 :(得分:1)

看看mockito,它非常棒。基础是:

ClassYouAreTesting fake = mock(ClassYouAreTesting.class);
when(fake.callsSomeMethod()).thenReturn(sampleData);

您可能还需要使用一些dependency injection,以便您可以将实际(在生产期间)或模拟(在测试期间)对象传递给函数。