【问题标题】:Doesn't a test class using MockWebServer require a runner?使用 MockWebServer 的测试类不需要运行器吗?
【发布时间】:2021-07-10 03:05:47
【问题描述】:

我有一个非常基本的问题,我是单元测试的新手,我有一个测试类,我在其中使用 MockWebServer 测试 Spring WebClient。所有的测试都运行良好,但为什么我们在使用 MockWebServer 时不需要运行器?使用 Mockito 时,我们使用 @RunWith(MockitoJUnitRunner.class) 注释类。

【问题讨论】:

  • JUnit 4 需要 @RunWith,但 Junit 5 不需要。

标签: java spring-boot mockwebserver


【解决方案1】:

JUnit 4 RunnerRule 或 JUnit Jupiter Extension 方便地处理(除其他外)测试设置,例如在后台为您启动和停止MockWebServer

您不必为您的测试使用Runner/RuleExtension,并且可以作为@BeforeAll/@987654331 的一部分手动启动/停止您的测试基础架构 @ 或在测试中。

但是,这会将样板代码添加到需要此类基础架构的每个测试中,如果您的测试库提供,您可以将此任务委托给 Runner/RuleExtension

MockWebServer的特定示例中,您可以使用their JUnit 4 rule,他们的JUnit 5 integration,或者您自己执行服务器的启动/停止操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 2019-01-27
    相关资源
    最近更新 更多