问题描述
我有一个非常基本的问题,我是单元测试的新手,我有一个测试类,我正在使用 MockWebServer 测试 Spring WebClient。所有的测试都运行良好,但是为什么在使用 MockWebServer 时我们不需要运行器呢?使用 Mockito 时,我们使用 @RunWith(MockitoJUnitRunner.class) 注释类。
解决方法
JUnit 4 Runner
或 Rule
或 JUnit Jupiter Extension
方便地负责(除其他外)测试设置,例如在后台为您启动和停止 MockWebServer
。
您不必使用 Runner
/Rule
或 Extension
进行测试,并且可以手动启动/停止您的测试基础架构 @BeforeAll
/@AfterAll
或测试内部。
但是,这会向需要这种基础设施的每个测试添加样板代码,如果您的测试库提供了,您可以将此任务委托给 Runner
/Rule
或 Extension
。
在 MockWebServer
的特定示例中,您可以使用 their JUnit 4 rule、它们的 JUnit 5 integration,或自行执行服务器的启动/停止操作。