sping单元测试的运行速度怎么提升? 每次都重新初始化一次context太慢了
即便了很简单的几行代码, 如果用了spring给你注入的类就得把 spring 重新初始化一次, 全世界的开发者都是这样的吗?
我是macbook pro15寸, 配置很高, 每次耽误15秒才能看到运行结果, 那么一年下来耽误的实际可以绕地球一圈? 全世界的开发者可以绕宇宙一圈?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果你写Scala的话可以参考我写的文章:https://github.com/sadhen/12-...
在这里摘录如下。我的解决方案是使用ScalaMock,如果是Java,可以使用mockito。
有依赖注入的类怎么测试
很简单:
下面这个例子演示了如何测试Rest Controller,其实也很简单,主要是利用了spring-boot-starter-test里面提供的TestRestTemplate。其中有些json4s的语法或许你没有接触过,且看下文。
但是这种测试有个弊端,由于需要初始化上下文,每次都需要等上好长一段时间。
ScalaMock
ScalaMock就是用来解决上文提到的问题的。看代码:
这个例子中,我们mock了一个WorldService,通过指定getCountry方法的返回值定义了worldService的行为模式。从而不需要初始化上下文就可以完成Rest Controller的测试。