unit-testing - 注入(inject)没有java接口(interface)的模拟对象进行单元测试

标签 unit-testing junit mocking

我的 java 项目有多个层,例如 Controller(取决于)Service(取决于)DAO。
我的目标是对 Controller 进行单元测试。

我创建了 Mock 服务对象以将其注入(inject) Controller 类。

谷歌搜索后,我了解到我可以使用 java 接口(interface)来做到这一点。

理想情况下,服务层不需要接口(interface)。

我想知道是否有不同的方法可以在没有 java 接口(interface)的情况下注入(inject)模拟对象。

最佳答案

有像 Mockito 这样的模拟库,它可以在不需要接口(interface)的情况下为类创建模拟。

MyService serviceMock = org.Mockito.mock(MyService.class);
controller.setService(serviceMock);

关于unit-testing - 注入(inject)没有java接口(interface)的模拟对象进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20101653/

相关文章:

java - 使用 maven 多次运行单个测试

.net - 为 .Net 选择模拟框架时应该考虑什么

c++ - 在循环中添加预期的调用

unit-testing - Grails Spock 单元测试 - 什么是 "1 *"以及为什么是 "too few invocations"?

java - JUnit 测试方法的参数化替代方案

maven - 我可以在 Maven 项目中运行 IntelliJ 单元测试而不重新运行 Maven 目标吗?

java - Junit - 测试没有参数的构造函数?

grails - Grails单元测试-在对模拟使用需求时检查参数

ruby - 模型中的 RSpec 模拟或 stub super

c# - 如何在 .NET Core 中对 Startup.cs 进行单元测试