Java 为android创建简单测试有困难”;“你好,世界”;程序

Java 为android创建简单测试有困难”;“你好,世界”;程序,java,android,Java,Android,嘿,伙计们,我需要一些帮助来测试android studio中的Hello world程序。这就是我尝试过的,我基本上只是做了一个空项目,默认情况下你会得到“Hello world”节目 现在我需要测试这个“hello world”应用程序,也就是说,一旦我运行了测试,测试应该检查emulator中是否显示“hello world” 现在,如果你查看谷歌测试页面 您将看到已经有一个代码段可以执行完全相同的操作,请参见下面的代码段: public void testMyFirstTestTextV

嘿,伙计们,我需要一些帮助来测试android studio中的Hello world程序。这就是我尝试过的,我基本上只是做了一个空项目,默认情况下你会得到“Hello world”节目

现在我需要测试这个“hello world”应用程序,也就是说,一旦我运行了测试,测试应该检查emulator中是否显示“hello world”

现在,如果你查看谷歌测试页面

您将看到已经有一个代码段可以执行完全相同的操作,请参见下面的代码段:

public void testMyFirstTestTextView_labelText() {
    final String expected =
            mFirstTestActivity.getString(R.string.my_first_test);
    final String actual = mFirstTestText.getText().toString();
    assertEquals(expected, actual);
}
此代码段需要编辑才能正常工作,因此我对其进行了编辑,如下所示:

public void testMyFirstTestTextView_labelText() {
        final String expected =
                MainActivity.getString(R.string.hello_world); // added //MainActivity as thats the name of my activity and hello_would as thats the //variable i have in strings.xal
        final String actual = mFirstTestText.getText().toString();
        assertEquals(expected, actual);
    }
现在仍然有一个错误,我在
MainActivity
之后获取
getString
,在android studio中显示一条红色下划线,如果我将鼠标悬停在上面,则显示以下错误:

无法从静态引用非静态方法“getString(int)” 上下文

然后,如果我将鼠标悬停在
mFirstTestText
上,会出现以下错误:

无法解析符号
mFirstTestText

现在我不知道用什么替换这两个方法/变量,有人能帮我理解/解决这个问题吗

整个主类代码::

package com.example.gautam.orbita;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

对于显示的代码,
mFirstTestText
未初始化

编辑 我将在这里展示一个示例,说明如何更改TextView的文本,更简单地说,您的类应该是什么样子:

AndroidManifest.xml 活动\u main\u example.xml


!我已经发布了整个主类代码,我希望我是有意义的:)据我所知,您的类是正确的,但是是空的,因为没有命令可以执行您想要的操作。发布另外两个文件,AndroidManifest.xml和MainActivity.xml。。。。由于您似乎是Android系统的新手,请参考活动生命周期。最后,我能提供的是:在
onCreate
函数中,用textfield启动一个变量,然后使用该变量更改textfield的内容。。。在我看来,您找到的“snippet”并不是最好的起点。我想对于
mFirstTestText
我应该有以下
android.widget.TextView
,但后来我在getText()上得到一个错误,说
非静态方法“getText()”不能从静态上下文引用。
,整行代码看起来像这样
final String actual=android.widget.TextView.getText().toString()
<activity android:name=".MainActivity">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
TextView aTextView; 
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_example);
    aTextView = (TextView ) findViewById(R.id.aTextView);
    aTextView.setText("An example text");
  }
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
    android:id="@+id/aTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />
</RelativeLayout>