小编Sil*_*lly的帖子

Mockito Matchers之间有什么区别是A,any,eq和同样的?

我很困惑他们之间有什么区别,在哪种情况下选择哪一个.一些差异可能是显而易见的,比如anyeq,但我把它们都包括在内只是为了确定.

我想知道他们之间的差异,因为我遇到了这个问题:我在Controller类中有这个POST方法

public Response doSomething(@ResponseBody Request request) {
    return someService.doSomething(request);
}
Run Code Online (Sandbox Code Playgroud)

并希望在该控制器上执行单元测试.我有两个版本.第一个是简单的,就像这样

@Test
public void testDoSomething() {
    //initialize ObjectMapper mapper
    //initialize Request req and Response res

    when(someServiceMock.doSomething(req)).thenReturn(res);

    Response actualRes = someController.doSomething(req);
    assertThat(actualRes, is(res));
}
Run Code Online (Sandbox Code Playgroud)

但我想使用像这样的MockMvc方法

@Test
public void testDoSomething() {
    //initialize ObjectMapper mapper
    //initialize Request req and Response res

    when(someServiceMock.doSomething(any(Request.class))).thenReturn(res);

    mockMvc.perform(post("/do/something")
            .contentType(MediaType.APPLICATION_JSON)
            .content(mapper.writeValueAsString(req))
    )
            .andExpect(status().isOk())
            .andExpect(jsonPath("$message", is("done")));
}
Run Code Online (Sandbox Code Playgroud)

两者都运作良好.但我希望我someServiceMock.doSomething()在MockMvc方法中接收req,或者至少是一个具有相同变量值的对象req(不仅仅是任何Request类),并返回res,就像第一个一样.我知道使用MockMvc方法是不可能的(或者是吗?),因为实际调用中传递的对象总是与mock中传递的对象不同.无论如何我能做到吗?或者这样做甚至有意义吗?或者我应该满意使用any(Request.class)?我试过了eq,same但是所有这些都失败了.

先感谢您.我希望我能很好地解释自己.

java unit-testing matcher mockito difference

35
推荐指数
1
解决办法
5万
查看次数

MockMvc,RestAssured和TestRestTemplate有什么区别?

就我所知,MockMvc只是测试Controller,并模拟Service层。

RestAssured和TestRestTemplate正在测试我们API的运行实例。

那是对的吗?RestAssured和Spring Boot的TestRestTemplate有什么区别?

java rest-assured spring-boot mockmvc spring-boot-test

5
推荐指数
3
解决办法
1279
查看次数

在 Airflow UI 中触发任务

我有一个 DAG,其中任务 A、任务 B 和任务 C 依次运行。有没有一种方法可以让我从 UI 触发仅运行任务 B 和 C?

从这个问题:Triggering a task in Airflow with the CLI run command,我知道我们可以从 CLI 触发任务。但我不知道如何通过 UI 执行此操作

airflow

5
推荐指数
1
解决办法
3274
查看次数