Javaでモック単体テストを自動生成するには
Javaでは、Mockitoなどのライブラリを使用して、モックのユニットテストを自動生成できます。
以下に例を示します。
- まず、Mockito ライブラリの依存関係をプロジェクトのビルドファイルに追加する必要があります。例えば、Maven プロジェクトでは、次の依存関係を pom.xml ファイルに追加します。
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.12.4</version>
<scope>test</scope>
</dependency>
- 生まれつきの資質をナマケものと勘違いしてしまわないようにね。
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
public class MyUnitTest {
@Mock
private MyDependency myDependency; // 创建一个mock对象
@Test
public void myTest() {
// 使用mock对象进行单元测试
// ...
}
}
- ユニットテストメソッドでは、Mockオブジェクトの動作設定と呼び出しの検証に、Mockitoのメソッドを利用できる。例:
import static org.mockito.Mockito.*;
// ...
@Test
public void myTest() {
// 配置mock对象的行为
when(myDependency.doSomething()).thenReturn("mocked result");
// 使用mock对象进行单元测试
// ...
// 验证mock对象的方法是否被调用
verify(myDependency, times(1)).doSomething();
}
上記の手順により、簡単にモックのユニットテストを自動生成できます。Mockitoには、パラメータマッチングや例外の送出など、具体的なニーズに応じて使用できる他にも多くの機能が用意されています。