如何在junit中测试此Web层?

时间:2019-05-15 17:05:55

标签: java spring junit

如何在junit中测试此Web层?

@GetMapping("/")
@ResponseBody
public String index() {
    Map<String, Object> context = Maps.newHashMap();
    context.put("detail", "hello!");
    return  templateRender.render(getTemplate("index.html"), context);
}

2 个答案:

答案 0 :(得分:0)

据我了解,您需要通过JUnit测试网页。您可以使用JWebUnit: https://jwebunit.github.io/jwebunit/

答案 1 :(得分:0)

众所周知,这不再是单元测试,而是按照定义定义的集成测试,这是软件测试的一个阶段,其中将各个软件模块组合在一起并作为一个整体进行测试。在这种情况下,您将测试各层之间的集成-控制器和服务层。

在这里您没有太多选择。您可以:

  1. 相信,方法render(..)做得很好,并且已经由其提供者进行了测试。我宁愿关注getTemplate(..)方法是否返回正确的模板。
  2. 使用前端自动测试来调用URL,并根据给定的参数检测返回的网页。 Selenium或Robot框架可以做到这一点。烟雾和健康测试也涵盖了这一点,并为此目的提供了服务器。
  3. 使用已建议的第三方库。但是,除了增加代码覆盖率指标之外,我看不出任何真正的好处(请注意-这可能是一个假阳性指标)。