我是 Android 单元测试的新手,我使用 Robolectric 作为测试框架。我使用 Robolectric 2.2。
我正在尝试测试这样的 Activity :
public class LoginActivity extends SherlockActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
ActionBar abs = getSupportActionBar();
abs.hide();
}
这是我的测试类:
@RunWith(RobolectricTestRunner.class)
public class LoginActivityTest {
@Before
public void setUp() throws Exception
{
System.setProperty("dexmaker.dexcache", "/sdcard");
activity = Robolectric.buildActivity(LoginActivity.class).create().get();
}
@Test
public void should_loginActivity_created() throws Exception {
assertNotNull(activity);
}
我收到这个错误:
java.lang.NullPointerException
at auth.LoginActivity.onCreate(LoginActivity.java:119)
这一行指的是 绝对隐藏();
注意:我试过 Xian's Gist但它没有用。
我还尝试创建类似 this 的 ShadowSherlockActivity但我不知道如何使用这个影子类来创建如下 Activity :
activity = Robolectric.buildActivity(LoginActivity.class).create().get();
注意 2:我尝试使用 Robolectric Snapshot 2.3 但没有解决。
谢谢。
最佳答案
关于android - Robolectric:actionBar.hide() 返回 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262336/