gpt4 book ai didi

Android 的 RelativeLayout 单元测试设置

转载 作者:行者123 更新时间:2023-11-30 04:53:00 27 4
gpt4 key购买 nike

我正在尝试为我的 Android 的 RelativeLayout 编写单元测试。目前,我的测试代码设置如下:

public class SampleRelativeLayoutTest extends AndroidTestCase {

private ViewGroup testView;

private ImageView icon;
private TextView title;


@Override
protected void setUp() throws Exception {
super.setUp();
// inflate the layout
final Context context = getContext();
final LayoutInflater inflater = LayoutInflater.from(context);
testView = (ViewGroup) inflater.inflate(R.layout.sample_layout,
null);
// manually measure and layout
testView.measure(500, 500);
testView.layout(0, 0, 500, 500);
// init variables
icon = (ImageView) testView.findViewById(R.id.icon);
title = (TextView) testView.findViewById(R.id.title);
}

但是,我遇到了具有以下堆栈跟踪的 NullPointerException

java.lang.NullPointerException
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:427)
at android.view.View.measure(View.java:7964)
at com.dqminh.test.view.SampleRelativeLayoutTest.setUp(SampleRelativeLayoutTest.java:33)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:430)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)

我应该在 setUp() 代码中更改什么以使测试正常运行?

最佳答案

我有一份 Android 源代码的副本,但不确定它是否与您正在使用的相同(或者对于本类(class)来说可能无关紧要)。异常是 onMeasure 方法内 RelativeLayout 第 427 行的 NullPointerException。我所拥有的版本中的那一行是 onMeasure 方法中 mLayoutParams 实例变量的第一次访问。您是否可能忘记在您的 xml 布局或类似的东西中添加 layout_width 和 layout_height 参数?

关于Android 的 RelativeLayout 单元测试设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2481823/

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