Mockito 和 JUnit:哪个最好使用 Runner 或 TestRule?

Mockito and JUnit : Which is the best to use Runner or TestRule?

我正在用 JUnit 和 Mockito 编写一些测试。

我注意到 Mockito 提供了一个 JUnit Runner and a JUnit TestRule

每种解决方案的优缺点是什么?

一般来说,规则比跑步者提供更多的灵活性。只能有一个跑步者,而您可以在一个测试中有多个规则 class.

由于 Mockitos runner 和 rule 显然做同样的事情,所以我看不出有理由在这里使用 runner。

为了完整起见,我想提一下,除非您想使用模拟注释或 validateMockitoUsage().

,否则无需使用 Mockito 的规则(或运行器)

为了保持一致性,我通常使用 mock() 创建所有模拟,因为测试经常会模拟字段和模拟局部变量。