在单元测试中,我需要导入什么才能使用启动活动<>()?

问题描述 投票:2回答:1

所以我试着按照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'
android android-testing androidx
1个回答
0
投票

我是否需要将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后缀版本。

© www.soinside.com 2019 - 2024. All rights reserved.