如何使用 Fragment Scenario 测试 Fragment?

Arc*_*nes 6 android android-fragments android-testing

我正在尝试单独测试 a Fragment。为此,我正在尝试FragmentScenario.

Android 文档在这里提供了一个非常好的示例。但是我的测试总是失败,因为我的片段将活动投射到onAttach.

FragmentScenarioluanches 一个容器Activity(显然)没有实现我的片段所需的接口。

我的问题是如何解决这个问题?如何强制容器活动实现我需要的接口?或者有没有更好的方法来做到这一点?也许移除铸件onAttach并用不同的方法替换?

zab*_*son 4

我采取了不同的方法。我最终使用了ActivityScenario具有 Activity 回调的片段。

在我的开发版本中创建了一个 AccountTestActivity。该活动实现了我想要测试的片段中的所有各种回调(LoginCallback、CreateAccountCallback 等)。

我不想打开我的类进行测试或添加额外的功能。

scenario = ActivityScenario.launch(AccountTestActivity::class.java).onActivity {
        logInFragment = LogInFragment()
        it.startFragment(logInFragment)
    }
Run Code Online (Sandbox Code Playgroud)