我遇到了与 Roboguice 和 JUNIT 相关的问题。实际上我正在做一个非常小的测试以使其运行,代码:
import junit.framework.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import roboguice.RoboGuice;
import android.app.Application;
import android.content.Context;
public class FansworldClientTest {
TaskClient client;
@Mock
Application application;
@Mock
Context context;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
client = RoboGuice.getInjector(application).getInstance(TaskClient.class);
}
@Test
public void getTimestampTest() {
Assert.assertNotNull(application);
Assert.assertNotNull(context);
Assert.assertNotNull(client);
}
@After
public void teardown() {
RoboGuice.util.reset();
}
}
mvn test 命令向我抛出了这个:
java.lang.NullPointerException:在 com.app.api.client.TaskClientTest.setup(TaskClientTest.java: 38)
我正在使用 Roboguice 2.0、Junit 4.8.2 和 Mockito 1.9.5。我也在尝试这样做:
MockitoAnnotations.initMocks(this);
RoboGuice.setBaseApplicationInjector(application, RoboGuice.DEFAULT_STAGE);
RoboGuice.getInjector(application).getInstance(FansworldClient.class);
和同样的结果。这取自官方 Roboguice 项目的同一个 Astroboy2Test.class。
谢谢!!