【问题标题】:void method in Java Integration TestsJava集成测试中的void方法
【发布时间】:2022-01-03 18:50:12
【问题描述】:

我有一些 Java 单元测试的经验,现在开始编写集成测试。但是,我在理解集成测试和编写测试时遇到了一些麻烦。以下是一些我想澄清的问题:

1.在我的Java(基于Spring Boot)项目中,我应该为控制器编写集成测试还是为服务编写集成测试也可以(因为有些方法可以不从控制器调用)。

2.如何通过集成测试来测试服务中的空洞?我没有在网上找到合适的例子,我认为没有必要或没有办法通过集成测试来测试 void。有什么澄清吗?

【问题讨论】:

    标签: java spring-boot testing junit integration-testing


    【解决方案1】:

    好的,以下是该领域的最佳做法。

    我应该为控制器编写集成测试还是也可以为服务编写集成测试

    大多数集成测试都是针对服务运行的。这是因为每个服务通常可以支持多个控制器和多个接口。对于控制器,您只需在集成级别上进行快乐路径测试。

    任何针对控制器特定异常的测试都会进入控制器unit测试,您可以在其中模拟服务。

    如何通过集成测试测试服务中的空洞?

    你检查它的副作用。例如,您使用repository class 来查看相关数据是否已持久化到数据库中。

    这能解决您的问题吗?在 cmets 中告诉我。

    【讨论】:

    • 感谢您的精彩解释。关于我的问题,我需要了解有关这些我似乎不清楚的点的更多信息:(
    • 1. 当我们创建集成测试时,我们应该测试Controller方法还是Service方法?还是两个都可以?
    • 两者。不过,大多数测试都在服务上进行
    • 如果此答案对您有所帮助,请随时点赞并将其标记为已接受。
    • 集成测试的重点不是测试各个部分,而是测试它们的集成程度。
    猜你喜欢
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多