如何获得模拟器中显示的值?

时间:2015-07-08 11:37:35

标签: java android

我正在编写一个小的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();  

3 个答案:

答案 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)