我正在编写一个小的android“Hello world”应用程序,我真的想写一个小的测试用例。我写了一个小测试用例,看看如下:
public void testMyFirstTestTextView_labelText() {
final String expected = getContext().getResources().getString(R.string.hello_world);
final String actual = getContext().getText().toString();
assertEquals(expected, actual);
}
使用strings.xml中的值实例化expected
变量
但是对于actual
值,我很难理解我应该写什么方法或片段以获取显示字符串的值。
那么如何获取模拟器中显示的文本的值: 截至目前,以下陈述是错误的:
final String actual = getContext().getText().toString();
我对Android很新,有人可以帮我解决这个问题。
如果您检查代码段中的最后一段代码:
assertEquals(expected, actual);
它检查(我认为使用jUnit)天气,expected
的值与actual
相同。
再次在上面的代码片段中重复我的问题,如何获取/检索显示文本的值? I.E.在以下行:
final String actual = getContext().getText().toString();
答案 0 :(得分:2)
它应该是yourTextViewObject.getText()
而不是getContext().getText()
TextView textView = (TextView)findViewById(R.id.hello_world);//Assuming your id in the xml page is textView1
String actual = textView.getText().toString();
这会从hello_world
获取条目strings.xml
的值。
String expected = getContext().getResources().getString(R.string.hello_world);
这可以从TextView
获得价值。
String actual = textView.getText().toString();
来自Android文档的example
mFirstTestText = (TextView) mFirstTestActivity
.findViewById(R.id.my_first_test_text_view);
String actual = mFirstTestText.getText().toString();
答案 1 :(得分:1)
如果您的textView被称为label
,您可以使用以下内容:
String s= label.getText().toString();
答案 2 :(得分:1)
Set Up Your Test Fixture
部分的示例there完全相同。只需使用以下内容分析TextView:
final String actual = label.getText().toString();
final String expected = getContext().getResources().getString(R.string.hello_world);
assertEquals(actual, expected)