模拟真实服务的对象

时间:2012-06-28 10:50:45

标签: java-ee testing mocking

我需要从我的应用程序访问许多外部第三方Web服务,并且大多数时候它们已关闭或不可用。我需要从我本地的xml文件中模拟服务返回值并将其发送回来,以便我可以测试我的应用程序中的其余层,即演示文稿,委托等。有没有方法可以执行此操作而无需编写一个仅用于测试目的的额外类说一个Mock对象库,它只提供一些注释,我可以标记我的生产类方法,并根据说环境打开它,这将通过插入一个sample-xml来模拟特定方法。例如:

//MockthismethodFor(env).With(sampledata).returning(...)
@Mockthismethod("test","mytestvalues.xml",something)
public something returnsomthing(string str1){
//...production code
}

我检查过EasyMock,Jmockit但是无法获得很多线索来实现上述目标。 感谢关于此的指示或任何帮助。

1 个答案:

答案 0 :(得分:0)

如果您使用的是CDI,则可以使用@Alternative来注释您的模拟服务实现bean。更好的是,您可以编写自己的@Mock构造型并在环境中激活实际服务不可用。您可以在此处找到详细信息:http://openejb.apache.org/examples-trunk/cdi-alternative-and-stereotypes/