所以我试着按照googles说明测试我的活动:https://developer.android.com/guide/components/activities/testing
但代码launchActivity<MyActivity>()
不起作用。我是否需要将launchActivity定义为规则,还是需要在gradle中导入库?
这些是我已经拥有的进口产品
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
我是否需要将launchActivity定义为规则,还是需要在gradle中导入库?
是。您需要在测试类的开头设置一个规则,如下所示;
@RunWith(AndroidJUnit4.class)
public class YourActivityTests extends AndroidJUnitRunner {
@Rule
public ActivityTestRule<YourActivity> mYourActivityActivityTestRule =
new ActivityTestRule<YourActivity>(YourActivity.class);
所需的库导入捆绑在import androidx.test包中。
这适用于Java,但在Kotlin中应该有一个等效的方法。希望这可以帮助。
编辑:您应该使用最新的稳定版本(版本控制中只包含编号的版本)用于生产应用程序。当您真正需要这些版本的库时,只使用任何-alpha或-rc后缀版本。