我正在尝试模拟在另一个类中创建的用户的类实例,该类是
MyClass
方法计数。
我想为
Myclass
方法写单元测试用例count
下面是示例代码
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
class User{
public int count(){
return 123;
}
}
class MyClass{
public int count(){
User user = new User();
return user.count();
}
}
@RunWith(PowerMockRunner.class)
@PrepareForTest( MyClass.class)
public class ServiceTestClass{
@Test
public void testMethod() throws Exception {
User user = Mockito.mock(User.class);
when(user.count()).thenReturn(45);
whenNew(User.class).withAnyArguments().thenReturn(user);
MyClass myClass= new MyClass();
System.out.println(myClass.count());
verifyNew(User.class).withNoArguments();
}
}
理想情况下,
System.out.println(myClass.count());
应该打印 45
但它正在打印 123
.
任何人都可以帮助我在这里做错了什么吗?