【问题标题】:What is the best approach to do a end-to-end test using selenium webdriver and junit5? [closed]使用 selenium webdriver 和 junit5 进行端到端测试的最佳方法是什么? [关闭]
【发布时间】:2020-12-26 01:17:28
【问题描述】:

由于 selenium 无法进行休息调用测试,并且由于我发现了许多对集成测试的不同解释,我无法理解使用 selenium 和 junit5 测试我的 spring boot api 的正确方法是什么。

例如,如果我在我的前端有一个按钮,当我点击它时会向服务器发送一个休息调用,我应该如何测试响应的有效性?最初的想法是进行两次调用,一次使用 selenium,一次使用 MockMvc 并比较响应,尽管我似乎找不到获取 webdriver 响应的方法。或者我是否必须检查前端的一些更改,如果我这样做,它仍然是端到端测试吗?

另外,考虑到我不会实现每一个抽象层(即控制器、服务和存储库),MockMvc 测试方法是否足以使测试成为集成测试,还是仍然是单元测试?

任何解释或代码示例将不胜感激。

【问题讨论】:

    标签: spring-boot selenium-webdriver integration-testing junit5


    【解决方案1】:

    Selenium 和 MockMvc 是两种完全不同的测试。

    Selenium 用于端到端测试。您想从真正的人类用户的角度测试您的软件。因此,我建议您检查 UI 中的更改,因为您的真实用户也不会关心 Rest-Responses。

    MockMvc 另一方面可以用于仅测试 Spring 应用程序的 Web 层或包含所有层的完整应用程序。两者都是集成测试,但测试的范围不同。 在这里,我建议您使用 Springs Test Slices。如果您使用 @WebMvcTest 注释您的测试,则会加载 Spring 上下文,但它仅包含测试 Web 层所需的组件(控制器、RestController、ControllerAdvice、JsonComponents 等) 有关更多信息,请查看 Testing the Web layer 上的 springs 自己的教程。

    【讨论】:

      猜你喜欢
      • 2018-11-22
      • 1970-01-01
      • 2018-11-25
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 2018-05-01
      • 2018-04-27
      • 1970-01-01
      相关资源
      最近更新 更多