android Roboletric:如何测试按下按钮后打开的碎片?

oyt4ldly  于 2023-01-19  发布在  Android
关注(0)|答案(1)|浏览(117)

我有一些流,其中一个片段打开另一个片段在一个专用屏幕上做工作人员。每次我打开新片段Roboletric是不能“看到”新片段中的东西。有时添加inRoot{ isDialog }解决问题,其他时候它不能。
有什么想法如何工作吗?使用espresso +实际设备一切工作正常,但我想把测试移到roboletric使用JVM而不是一个真实的的设备。

nvbavucw

nvbavucw1#

要测试按下按钮后打开的片段,您可以使用Robolectric框架,该框架允许您对Android应用代码执行单元测试。以下是您可以遵循的一般步骤:
创建一个扩展RobolectricTestRunner类的测试类。在测试类中,创建一个模拟按钮按下并打开片段的方法。使用Robolectric提供的startFragment方法启动片段并将其添加到Activity。使用getSupportFragmentManager方法获取片段管理器,并使用findFragmentById方法查找当前显示的片段。使用assertNotNull检查片段是否不为空,表示已成功打开片段。根据需要对片段的视图或行为执行任何其他测试。以下是测试方法的示例:

@Test
public void testFragmentOpensAfterButtonPress() {
    // Simulate button press
    button.performClick();

    // Start the fragment
    startFragment(new MyFragment());

    // Find the fragment
    MyFragment fragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_container);

    // Assert that the fragment is not null
    assertNotNull(fragment);

    // Perform additional tests on the fragment's views or behavior
    ...
}

相关问题