小编nag*_*dra的帖子

spring MockMvc测试模型属性

我有一个控制器方法,我必须写一个junit测试

@RequestMapping(value = "/new", method = RequestMethod.GET)
public ModelAndView getNewView(Model model) {
    EmployeeForm form = new EmployeeForm()
    Client client = (Client) model.asMap().get("currentClient");
    form.setClientId(client.getId());

    model.addAttribute("employeeForm", form);
    return new ModelAndView(CREATE_VIEW, model.asMap());
}
Run Code Online (Sandbox Code Playgroud)

使用spring mockMVC进行Junit测试

@Test
public void getNewView() throws Exception {
    this.mockMvc.perform(get("/new")).andExpect(status().isOk()).andExpect(model().attributeExists("employeeForm")
            .andExpect(view().name("/new"));
}
Run Code Online (Sandbox Code Playgroud)

我得到NullPointerException作为model.asMap().get("currentClient"); 在运行测试时返回null,如何使用spring mockmvc框架设置该值

java junit spring spring-mvc

10
推荐指数
1
解决办法
6446
查看次数

为 Http.outboundGateway 配置错误处理并重试 spring dsl

我有一个要求,当失败时我需要进行休息调用,我必须重试 3 次,并且根据收到的状态代码我需要执行不同的操作,我找不到合适的 spring 集成 dsl 示例。如何配置错误处理程序并重试

@Bean
public IntegrationFlow performCreate() {
    return IntegrationFlows.from("createFlow")
            .handle(Http.outboundGateway("http://localhost:8080/create")
                    .httpMethod(HttpMethod.GET)
                    .expectedResponseType(String.class)
                    .requestFactory(simpleClientHttpRequestFactory())
                    .errorHandler(??)
            )

            .log(LoggingHandler.Level.DEBUG, "response", m -> m.getPayload())
            .log(LoggingHandler.Level.DEBUG, "response", m -> m.getHeaders())
            .get();
}

private SimpleClientHttpRequestFactory simpleClientHttpRequestFactory() {
    SimpleClientHttpRequestFactory simpleClientHttpRequestFactory = new SimpleClientHttpRequestFactory();
    simpleClientHttpRequestFactory.setReadTimeout(5000);
    simpleClientHttpRequestFactory.setConnectTimeout(5000);
    return simpleClientHttpRequestFactory;
}
Run Code Online (Sandbox Code Playgroud)

spring-integration spring-integration-dsl

3
推荐指数
1
解决办法
1313
查看次数

如何在 Spring 集成测试中调用通道

我有一个接受字符串输入的 Flow

  @Bean
  public IntegrationFlow myFlow() {
        // @formatter:off
        return IntegrationFlows.from("some.input.channel")
                               .handle(someService)
                               .get();
Run Code Online (Sandbox Code Playgroud)

我如何从我的集成测试中调用它,如何在“some.input.channel”上放置一个字符串消息

spring-integration spring-integration-dsl

3
推荐指数
1
解决办法
2370
查看次数