我目前的任务是等待后端(DB)中的几个字段,然后在我这边修改它们。后端更改需要时间,同时,我想创建一个模拟器并开始我的更改。是否有设计模式,有人可以建议,这将帮助我为后端设计模拟器,以后,没有太多的代码更改,允许我移植到真正的后端值?
答案 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,以便您可以将实际(在生产期间)或模拟(在测试期间)对象传递给函数。