gpt4 book ai didi

java - Spring Boot REST 应用测试方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:05 26 4
gpt4 key购买 nike

我有一个 Spring boot + REST 应用程序。当我需要写单元测试的时候,是直接调用service bean还是调用rest controller?如果我直接调用 rest controller,我必须使用 RestTemplate 并将 rest api 作为客户端调用,对吗?

最佳和必需的做法是什么?

如果我直接调用服务 bean,它将导致更少的代码覆盖,因为 Controller 方法代码将不会被覆盖。可以接受吗?

最佳答案

嗯,这是一个复杂的问题,但我会尽力回答。这在很大程度上取决于您/您的组织的风险承受能力以及他们想在测试上投入多少时间。我相信大量的测试,但有太多这样的事情。

单元测试测试代码单元。很好,但是什么是单位?这篇文章是一个相当不错的讨论:http://martinfowler.com/bliki/UnitTest.html但单元基本上是应用程序中最小的可测试部分。

许多文献(例如 https://www.amazon.ca/Continuous-Delivery-Reliable-Deployment-Automation/dp/0321601912/)描述了多个测试阶段,包括非常低级别的单元测试和模拟外部性,例如数据库或文件系统或远程系统,以及“api 验收测试”(有时称为集成测试,尽管这是一个模糊的术语,可能意味着其他事情)。后一种类型会启动您的应用程序的测试实例,调用 API 并对响应进行断言。

简短的回答如下:对于单元测试,关注单元(可能是服务或更细粒度),但您描述的另一组测试,其中测试的行为类似于客户端并调用您的 api,也是值得的.我的建议:两者都做,但不要同时调用两个单元测试。

关于java - Spring Boot REST 应用测试方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38189777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com