我在使用Robolectric進行AndroidAnnotations單元測試時遇到問題。Robolectric單元測試使用AndroidAnnotations
我讓我的測試運行。但是生成的類無法找到應該包含在視圖中的任何元素。 這是我的測試課。在調試時,我可以看到「afterSetContentView_」無法找到ViewById。
@RunWith(RobolectricTestRunner.class)
public class MainActivityTest {
private MainActivity activity;
private EditText mTextView;
private Button btnLogin;
@Before
public void setup() {
activity = Robolectric.buildActivity(MainActivity.class).create().get();
mTextView = (EditText) activity.findViewById(R.id.etUserName);
}
}
這裏是我的活動:
@EActivity(R.layout.login)
public class MainActivity extends Activity {
@ViewById(R.id.etUserName)
EditText etUerName;
..........
}
在這裏,我有我的測試類更新
@RunWith(RobolectricTestRunner.class)
@Config(manifest = "./src/main/AndroidManifest.xml", emulateSdk = 18)
public class LoginActivityTest {
@Before
public void setup() {
Robolectric.buildActivity(LoginActivity_.class).create().get();
}
}
感謝您的回覆。我試過這個。但是我收到了錯誤信息。任何建議請java.lang.reflect.InvocationTargetException –
沒有更多的信息,我沒有任何建議。 Stacktrace和代碼示例將幫助 – nenick
我無法找到任何解決方案。當我調用LoginActivity_時,我得到了InvocationTargetException。請參閱下面的測試課。謝謝! @RunWith(RobolectricTestRunner.class) @Config(清單= 「./src/main/AndroidManifest.xml」,emulateSdk = 18) 公共類LoginActivityTest { @Before 公共無效設定(){ Robolectric。 buildActivity(LoginActivity_.class).create()得到()。 } } –