在我的rest控制器中,我用一个定制的Spring验证器类验证输入JSON。
当我现在想为控制器编写单元测试时,我得到了一个错误,即找不到我的验证器。。。
@Autowired
public JobController(JobValidator jobValidator, JobService jobService) {
this.jobValidator = jobValidator;
this.jobService = jobService;
}
这是我对应的Test类。
@RunWith(SpringRunner.class)
@WebMvcTest(JobsController.class)
@AutoConfigureMockMvc
public class MailMonitorJobControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private JobService jobService;
@Test
public void givenJobs_whenGetJobs_thenReturnJsonArray() throws Exception {
Job job = new Job("TEST");
List<Job> allJobs = Arrays.asList(job);
Mockito.when(jobService.getAllJobs()).thenReturn(allJobs);
mockMvc.perform(get("/api/v1/test")
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk());
}
}
感谢您的帮助、提示或建议!
感谢@pvpkiran!我不得不添加JobValidator作为模拟!
@RunWith(SpringRunner.class)
@WebMvcTest(JobsController.class)
@AutoConfigureMockMvc
public class MailMonitorJobControllerTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private JobService jobService;
@MockBean
private JobValidator jobValidator;
@Test
public void givenJobs_whenGetJobs_thenReturnJsonArray() throws Exception {
Job job = new Job("TEST");
List<Job> allJobs = Arrays.asList(job);
Mockito.when(jobService.getAllJobs()).thenReturn(allJobs);
mockMvc.perform(get("/api/v1/test")
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk());
}
}
我知道,如果我将从移动到,我可以在构造函数中初始化它(就像我对验证器所做的那样)。但是,我希望将存储放在基类中,因为它将被扩展它的其他类使用。 根据我的类的设置方式,如何在测试时注入?
我在Mac 10.7.5上使用Ant 1.9,我刚刚安装了Ivy。我在下载依赖项时遇到了问题。我有这个build.xml文件和我的Ivy解析目标。 那么我有这棵常春藤。xml文件与我的构建版本处于同一级别。xml文件: 但是当我运行我的蚂蚁目标时,一切都悬而未决 为了解决依赖关系并启动我的目标,我还缺少什么?
在阅读dagger 2的文档时,我找不到一种简单的方法来在构建测试应用时提供依赖项。我找到的唯一线索是: 匕首2不支持覆盖。覆盖简单测试假货的模块可以创建模块的子类来模拟该行为。应该分解使用覆盖并依赖依赖依赖项注入的模块,以便将被覆盖的模块表示为两个模块之间的选择。 我不明白我将如何在Android上设置这样的配置,任何人都可以解释吗?
问题内容: 我有servlet- api版本2.5,作为pom.xml中提供的范围。这是我的项目的dependency:tree输出的一部分。“从2.3版本管理;从编译范围管理”是什么意思? 这是否意味着我的类路径上对版本2.3有一些传递依赖?我的WAR文件根本没有servlet- api jar,但是我使用的是Spring 2.5.4的旧版本。我怀疑Spring框架取决于servlet-api
请帮助:当我部署一个My.war时,jboss正在抛出: 9:12:16,777错误[org.jboss.MSC.service.fail](MSC服务线程1-6)MSC000001:无法启动服务jboss.module.service。“deployment.my.war”。Main:org.jboss.MSC.service.startService中的服务jboss.module.servi
我试图在spring boot 2.3项目中使用JUnit5与Hibernate5.4和MockMvc。 这就是我的实体类的成员的外观: 我试图使用JUnit5用Mockito和MockMvc测试LocalDate字段birthDate。这就是测试用例的样子: 运行测试用例时,我得到一个AssertionError: 正如您所看到的,这两个字符串表示形式是相同的。但是JUnit5会抛出错误。 那么