1

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

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

我检查了 EasyMock、Jmockit 但无法获得太多线索来实现上述目标。感谢您的指点或有关此的任何帮助。

4

1 回答 1

0

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

于 2012-06-28T11:14:54.377 回答