如何只运行一个测试?

时间:2014-02-16 20:31:28

标签: java android eclipse testing robotium

我对此很新,我遇到了问题。

我正在为我在互联网上找到的一个简单的应用程序编写测试。现在,这就是我的代码的样子

package com.example.test.test;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.Smoke;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.robotium.solo.Solo;
import com.example.test.MainActivity;
import com.example.test.R;


public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {

private Solo solo;

    public MainActivityTest() {
    super("com.example.test", MainActivity.class);

}
@Override
public void setUp() throws Exception {
    super.setUp();
    solo = new Solo(getInstrumentation(), getActivity());
}


public void testClickShowButton() throws Exception {
    solo.clickOnView(solo.getView(R.id.button1));
    assertTrue(solo.searchText("Witaj"));
}
public void testClickClearButton() throws Exception {
    solo.clickOnView(solo.getView(R.id.button2));
}   
public void testClickClickMeButton() throws Exception {
    solo.clickOnView(solo.getView(R.id.button3));
    assertTrue(solo.searchText("No hej co tam?"));
}


@Override
public void tearDown() throws Exception {
    solo.finishOpenedActivities();
    }

    }

每当我运行这些测试时,它们总是在同一时间运行。我想要做的只是运行一个测试 - 单击第一个按钮。然后,我想手动做第二次测试 - 点击第二个按钮。然后我想再做手动第三次测试 - 点击第三个按钮。 不幸的是,Eclipse坚持要运行所有测试。

另外,完全不相关:我想编写一个测试,其中Robotium将在TextBox中输入一些数据,然后Robotium将删除它。我该怎么做?

2 个答案:

答案 0 :(得分:1)

如果您只使用Eclipse来运行单个测试,那么请转到Eclipse中的junit runner view(显示测试结果的视图)。右键单击要运行的测试并运行它。它会运行而不是其他运行。

这也可用于在调试模式下启动测试。

答案 1 :(得分:0)

  

另外,完全不相关:我想编写一个测试,其中Robotium将在TextBox中输入一些数据,然后Robotium将删除它。我该怎么做?

你可以使用变量存储编辑框:

EditText FirsteditText = (EditText) solo.getView(R.id.EditText01);
solo.enterText(FirsteditText, String.valueOf("10"));
solo.clearEditText(FirsteditText);

与否:

solo.enterText(solo.getView(R.id.EditText01), String.valueOf("10"));
solo.clearEditText(solo.getView(R.id.EditText01));