作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Hilt 进行依赖注入(inject),但它给出了错误 java.lang.IllegalStateException: The component was not created. Check that you have added the HiltAndroidRule.
虽然添加了 HiltAndroidRule:
@RunWith(AndroidJUnit4.class)
@UninstallModules(ItemsModule.class)
@HiltAndroidTest
public class SelectItemActivityTest {
@Rule
public HiltAndroidRule hiltRule = new HiltAndroidRule(this);
@Before
public void init() {
hiltRule.inject();
}
@BindValue
List<Item> items = getItems();
List<Item> getItems() {
List<Item> items = new ArrayList<>();
items.add(new Item(1, "Item1", "", true, true, true));;
items.add(new Item(2, "Item2", "", true, true, true));;
items.add(new Item(3, "Item3", "", true, true, true));;
return items;
}
@Rule
public ActivityTestRule<SelectItemActivity> mActivityRule =
new ActivityTestRule<>(SelectItemActivity.class);
@Test
public void text_isDisplayed() {
onView(withText("Item1")).check(matches(isDisplayed()));
}
}
我也尝试在类中添加一个 ItemsModule ,但结果相同。
最佳答案
您必须使用 RuleChain
包装它或申请 order
Rule
的参数注解。
这里详细解释:https://developer.android.com/training/dependency-injection/hilt-testing#multiple-testrules
关于android - 用于 UI 测试的 Hilt 依赖注入(inject)说 "HiltAndroidRule"没有添加,但它是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62814001/
我有一个使用内容提供程序启动应用程序的插桩测试。 测试很简单: @HiltAndroidTest @UninstallModules({...}) public class MyTest { @R
我正在尝试使用 Hilt 进行依赖注入(inject),但它给出了错误 java.lang.IllegalStateException: The component was not created.
我是一名优秀的程序员,十分优秀!