java - 如何使用mockito测试给定的代码

标签 java unit-testing mockito tdd

我想测试 fan.setState 方法是否被调用

class OffState implements State {

    @Override
    public void changeState(Fan fan) {
        fan.setState(new OnState());
    }

}

最佳答案

像这样:

@RunWith(MockitoJUnitRunner.class)
public class OffStateTest {

    @Mock
    private Fan fan;

    @Test
    public void testChangeState() {
        //Arrange
        OffState offState = new OffState();

        //Act
        offState.changeState(fan);

        //Assert
        Mockito.verify(fan).setState(Mockito.any(OnState.class));
    }
}

关于java - 如何使用mockito测试给定的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45935272/

相关文章:

java - 使用mockito调用方法时如何检查方法参数?

具有模拟和协程的 Android 测试存储库返回 NullPointerException

java - 模拟使用外部类的方法,mockito

java - 用 @MockBean 模拟的 RestTemplateBuilder 为 null

Android Studio 上的 Java Reflect 无法找到要调用的公共(public)静态方法

java - 如何在应用程序中获取应用程序安装失败事件

java - 如何使用替换更改文本文件中的特殊字符 "\"

java - RecyclerView 不调用 getItemCount

java - 模拟一个操作被测单元私有(private)字段的闭包

unit-testing - OCaml 模拟模块生成