我正在使用Junit/Mockito/PowerMockito
我有一个接口类
import retrofit2.Call;
import com.learning.model.user.User;
import java.io.IOException;
public interface UserService {
@GET("/serviceUser/{userId}")
Call<User> getUser(@Path("userId") String userId);
default User getUserById(String userId) {
try {
return getUser(userId).execute().body();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
static UserService getUserService(){
//setup retrofit ...
}
}
在另一个服务中:
public class DemoUser {
public void doUserBusiness(String userId) {
User user = UserService.getService().getUserById(userId);
//do business logic here
}
}
那么,在测试doUserBussiness
方法时,如何模拟UserService.getService().getUserById(userId);
以返回模拟用户呢?
1条答案
按热度按时间23c0lvtd1#
您可以尝试使用
mockStatic()
,如下所示:更多信息-〉staticMock