在Java中,测试需要使用同一类的其他方法的方法可以通过以下几种方式实现:
import org.junit.Test;
import static org.junit.Assert.*;
public class MyClassTest {
@Test
public void testMethod1() {
MyClass myClass = new MyClass();
int result = myClass.method1();
assertEquals(10, result);
}
@Test
public void testMethod2() {
MyClass myClass = new MyClass();
int result = myClass.method2();
assertEquals(20, result);
}
}
import java.lang.reflect.Method;
import static org.junit.Assert.*;
public class MyClassTest {
@Test
public void testMethod1() throws Exception {
MyClass myClass = new MyClass();
Method method = MyClass.class.getDeclaredMethod("method1");
method.setAccessible(true);
int result = (int) method.invoke(myClass);
assertEquals(10, result);
}
@Test
public void testMethod2() throws Exception {
MyClass myClass = new MyClass();
Method method = MyClass.class.getDeclaredMethod("method2");
method.setAccessible(true);
int result = (int) method.invoke(myClass);
assertEquals(20, result);
}
}
import static org.junit.Assert.*;
public class MyClassTest {
@Test
public void testMethod1() {
MyClass myClass = new MyClass();
InnerClass innerClass = myClass.new InnerClass();
int result = innerClass.method1();
assertEquals(10, result);
}
@Test
public void testMethod2() {
MyClass myClass = new MyClass();
InnerClass innerClass = myClass.new InnerClass();
int result = innerClass.method2();
assertEquals(20, result);
}
private class InnerClass {
public int method1() {
return MyClass.this.method1();
}
public int method2() {
return MyClass.this.method2();
}
}
}
以上是三种常见的在Java中测试需要使用同一类的其他方法的方法。根据具体的需求和场景,选择合适的方式进行测试。
领取专属 10元无门槛券
手把手带您无忧上云