【发布时间】:2018-02-03 12:19:30
【问题描述】:
我有一个扩展 DaggerAppCompatActivity 的活动,以便使用新的 dagger android 注入工具对其进行注入
我正在尝试使用 Robolectric 测试此活动,但测试失败
java.lang.RuntimeException: android.app.Application does not implement dagger.android.HasActivityInjector
如何禁用 dagger 2 注入以将活动测试为正常活动
测试代码
@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class)
public class RegisterActivityTest {
AppCompatActivity activity;
@Before
public void setupActivity() {
activity = Robolectric.setupActivity(RegisterActivity.class);
}
@Test
public void clickingNewAccountText_MakeNewAccountShouldBeVisible() {
TextView registerNewAccountTextView = activity.findViewById(R.id.register_sign_up_textView);
registerNewAccountTextView.performClick();
Button registerNewAccountButton = activity.findViewById(R.id.register_sign_up_button);
assertThat(registerNewAccountButton.getVisibility(), is(View.VISIBLE));
}
}
知道如何解决这个问题
【问题讨论】:
-
您找到解决方案了吗?我正在寻找类似的东西。
-
@IgorGanapolsky 很遗憾没有:(如果您找到了解决方案,请告诉我
标签: android unit-testing tdd dagger-2 robolectric