DB:sqlite
表:联系方式
浓咖啡测试:
@Testpublic voID testBlock() { onData(anything()).inAdapterVIEw(withID(R.ID.container_ListVIEw)).atposition(0).onChildVIEw(withText(R.string.block_user)) .perform(click());}
并且测试成功通过.但只有在启动联系之前状态为unblock(db表中的列Status)时才会成功.所以我需要(在开始测试之前)将此联系人更新为状态解除阻止.我怎样才能做到这一点?或者有人为此提供更好的解决方案?
解决方法:
在开始活动之前,您可以在@Before方法或测试用例中执行此 *** 作.
首先,您需要将活动规则更改为:
@Rulepublic ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>( MainActivity.class, false, false);
请注意最后一个错误标志,这表示您的活动在测试开始时不会自动启动.
然后在您的测试类中,您可以添加此方法:
@Before public static voID PrepareDatabase() { // Instantiate your Service that performs an action on the database // give it this context: InstrumentationRegistry.getTargetContext(); // For example the code Could look like this: DatabaseHelper(InstrumentationRegistry.getTargetContext()).setYourValue(); mActivityRule.launchActivity(null); //launches the test activity}
然后通常写你的测试.此代码对您的数据库执行某些 *** 作,然后启动您的测试活动.您也可以将其传递给测试方法而不是@Before方法.
总结以上是内存溢出为你收集整理的android – 如何在启动Espresso测试之前准备数据库数据?全部内容,希望文章能够帮你解决android – 如何在启动Espresso测试之前准备数据库数据?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)