mockito 在同一应用程序Spring Boot中运行单元测试和集成测试

kknvjkwl  于 2022-11-08  发布在  Spring
关注(0)|答案(1)|浏览(181)

我有一个使用REST API的Spring Boot应用程序。有三层,分别是@Controller、@Service和@Repositiry。我需要为每一层编写单元测试用例,并对包括数据库在内的所有层进行集成测试。
单元测试用例使用@MockBean编写。它们应该使用模拟对象运行。集成测试用例应该使用实际对象运行。
但是两个用例都使用了模拟对象,所以集成测试失败。
我如何使用模拟对象进行单元测试和使用实际对象进行集成测试。

hkmswyz6

hkmswyz61#

您需要分开2个测试,这2个测试类型不一致。

单元测试mock object -> testClass -> assert所以你只需要考虑这个方法做什么,然后模拟其他依赖于你测试的方法的方法。
集成测试Real object -> whole process -> real result这就像是服务的单个工作流的完整循环。不需要检查任何值,只需要关注保存到数据库中的数据的响应。

相关问题