Mockito 测试方法无效

Mockito testing method void

我有一个叫做计算的方法

public class Calculator {
  public void calc(int a, int b){ 
    String condition = "first";
   int result = 0;

   if (condition.equals("first") { 
     condition = "no need";
   else { result = a + b;}

打印结果之后,无论如何,我需要进行测试,看看条件值是否更改为“不需要”或保持“第一”,我如何使用 mockito 检查它测试?到目前为止我试过了,但我没有成功。一个好的理论答案就好了,不需要代码。

A good theoretical answer would be good

Mockito 不是测试框架,它是模拟框架。

您不使用 Mockito 进行测试,您只是替换依赖项中的行为,以便您可以在特定的和其他难以重现的条件下测试代码的行为。

因此,问题的前提是有缺陷的,不仅仅是因为您没有正确使用 Mockito,还因为您在此代码中没有可以替换行为的依赖项。


但假设您的意思是“我如何使用测试框架对此进行测试”:您也不能那样做。

测试框架只是 Java 程序 运行 您的 Java 程序。它们不是魔术:它们可以测试的只是 return 值、抛出的异常和副作用(例如日志消息、打印的内容、状态更改)。

这里唯一改变的是局部变量。您无法对这些进行任何测试,因为它们在定义它们的方法之外是不可观察的。