gpt4 book ai didi

Android 单元测试来测试是否在 onCreate() 中调用了 setContentView()

转载 作者:行者123 更新时间:2023-11-29 22:02:06 25 4
gpt4 key购买 nike

已经搜索了一段时间,但找不到答案。假设我有这样的 onCreate 方法的 Activity :

private ListView mListView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_view);
mListView = (ListView) findViewById(R.id.list_view);
}

我有一个扩展 ActivityInstrumentationTestCase2 的测试类。在测试 Activity 上调用 onCreate(null) 后,如何测试是否调用了 setContentView 并将其设置为正确的资源?

private someActivity mActivity;
protected void setUp() throws Exception {
super.setUp();
mActivity = getActivity();
}

public void testOnCreate() {
assertNull(mActivity.findViewById(R.id.list_view));
}

最佳答案

以下代码应使用 setContentView() 返回 View 集:

View getContentView() {
ViewGroup view = (ViewGroup) getWindow().getDecorView();
view.getChildAt(0);
}

编辑:

或者,如果布局中的顶级 View 设置了 ID,您可以检查 findViewById(rootId) 是否在您的测试代码中返回非空值。

关于Android 单元测试来测试是否在 onCreate() 中调用了 setContentView(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11654710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com