2015-08-20 41 views
0

我写单元测试,具有以下特征如何获得org.springframework.validation.Errors的实例进行单元测试

String handlerApplicationRequest(@ModelAttribute("resource") Resource resource, Errors errors, HttpServletRequest request) 

调用这个方法我我的单元测试,我的控制方法需要传递所有三个参数, 我已经有一个资源实例,用于测试,并且为请求创建了MockHttpServletRequest实例。但我不知道如何获得org.springframework.validation.Errors的实例。春天的文档,我没有看到任何公共构造函数或任何静态工厂方法来实例化这个类。 我正在编写单元测试的代码不是我的代码,但其文档说错误在处理请求时存在任何错误。我的问题是我如何得到一个错误的实例来编写我的单元测试。

回答

0

没有任何公共构造函数,因为org.springframework.validation.Errors是一个接口。请参阅javadoc的“所有已知实施类”部分,查找可构建并通过测试的实施。

最适合单元测试的选项是使用模拟框架(例如EasyMockMockito)创建接口的模拟实现。然后,您可以根据模拟来定义期望值,以测试受测试的课程是否正确运行。同时测试多个类通常是一个糟糕的主意,如果您使用的是真实的实现Errors,那么您的单元测试将与该接口的实现耦合。

+0

我甚至没有仔细查看文档,以确定它实际上是一个不是类的接口。谢谢 – ivange

相关问题