【问题标题】:How to run one test only?如何只运行一项测试?
【发布时间】:2014-02-16 20:31:27
【问题描述】:

我对此很陌生,我有一个问题。

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

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 将删除它。我该怎么做?

【问题讨论】:

标签: java android eclipse testing robotium


【解决方案1】:

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

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

【讨论】:

  • 这很有帮助,非常感谢!所以我猜,我不能在代码中添加任何东西来阻止 Robotium 运行其他测试?
  • 不是真的,也许最好的办法是在 eclipse 中保存 3 个不同的配置并启动它们。但是你真的应该考虑创建一个更工业化/自动化的设置,这样你就可以用一个命令行来查看。
【解决方案2】:

另外,完全不相关:我想编写一个测试,其中 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));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 2011-06-21
    相关资源
    最近更新 更多