要解决“不使用另一个类来测试一个类”的问题,可以使用以下方法之一:
import org.junit.Test;
import static org.junit.Assert.*;
public class MyClassTest {
@Test
public void testMethod() {
// 创建目标类的实例
MyClass myClass = new MyClass();
// 调用目标类的方法并验证结果
int result = myClass.myMethod(2, 3);
assertEquals(5, result);
}
}
import org.junit.Test;
import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
public class MyClassTest {
@Test
public void testMethod() {
// 创建目标类的实例
MyClass myClass = new MyClass();
// 创建其他类的模拟实例
OtherClass mockOtherClass = mock(OtherClass.class);
// 定义模拟实例的行为
when(mockOtherClass.someMethod()).thenReturn(10);
// 将模拟实例注入目标类
myClass.setOtherClass(mockOtherClass);
// 调用目标类的方法并验证结果
int result = myClass.myMethod(2, 3);
assertEquals(15, result);
}
}
使用这些方法,您可以编写独立的测试用例并测试目标类的各个方法和行为,而无需依赖其他类。