JMock和Spring 3入门

时间:2012-11-14 12:19:08

标签: java spring junit jmock

我已经开始研究JMock了。我的目标是为Spring应用程序,a.k.a控制器和域类编写JUnit测试。在控制器中,来自数据库和其他服务的数据被放入模型中。我需要确保数据是持久的测试,所以基本上我需要在测试之前将测试数据放到数据库中,然后擦除它。我想这可以用模拟对象完成,而不是自动装配真正的bean。

我用Google搜索了一下。有些页面说只有界面可以被模拟。有人说所有对象都可以被嘲笑。有人说甚至不应该嘲笑DAO。我很困惑。

任何人都可以告诉我,JMock在Spring应用程序测试中是必不可少的吗?从哪里开始?

1 个答案:

答案 0 :(得分:0)

时需要进行模拟
  • 您希望动态构建数据对象,而不需要任何持久存储,并在测试期间使用它。
  • 您希望在不实际运行的情况下模拟操作。

在您的情况下,您有测试数据源,但数据在预测试阶段加载并在后测试阶段清除。所以,你不需要为此目的进行嘲笑。

如果你想模拟对某个控制器的调用而不调用控制器中的实际代码,你需要进行模拟。

我们做类似的事情

  • 我们的测试数据采用JSON格式,并在我们的测试套件启动时(使用自定义加载程序)加载到内存中的HSQL数据库中。
  • 我们的外部服务客户端被模拟,因此我们不会在测试期间调用服务,而是返回模拟的响应。
  • 在测试结束时,简单地丢弃HSQL DB,因此无需清除测试数据。

HTH。