在浓缩咖啡测试期间提供导航参数

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

我看到 Stack Overflow 似乎正在删除有关此主题的问题。不知道为什么..

文档中没有任何关于它的内容。 我正在尝试测试属于导航流程一部分的片段,因此其参数由“by navArgs()”注入提供。

在 launchFragmentInContainer 中启动该片段时如何提供它们?

graph arguments android-espresso code-injection nav
2个回答
4
投票

好吧,明白了。 想象一下您已将参数注入到片段中:

private val args: SumArguments by navArgs()

以及在导航图中声明的片段本身:

 <fragment android:id="@+id/SumFragment"
        android:name="xxx"
        android:label="xxx">
        <argument
            android:name="origin"
            app:argType="SumClass"
            app:nullable="false" />

然后你可以像这样启动你的fragmentScenario:

val origin = SumClass()

 launchFragment<SumFragment>(
            bundleOf(
                "origin" to origin,
            )
        )

不知道 Android 如何知道从 Bundle 映射参数,但它确实如此。享受吧。


0
投票

这对我有用:

launchFragment<SumFragment>(
        SumFragmentArgs(
            origin
        ).toBundle()
    )
© www.soinside.com 2019 - 2024. All rights reserved.