Android JUnit 测试未在 Robotium 中检测到

标签 android junit robotium junit3

我正在尝试使用 robotsium 运行以下 Android JUnit3 测试:

import android.test.ActivityInstrumentationTestCase2;
import com.package.sample.MyActivityClass;
import com.jayway.android.robotium.solo.Solo;

public class TestSample extends ActivityInstrumentationTestCase2<MyActivityClass> {
    private Solo solo;
    public TestSample() {
        super("com.package.sample", MyActivityClass.class);
    }

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

    public void clickbutton1() throws Exception{
        solo.clickOnButton("abc");
        solo.setActivityOrientation(Solo.LANDSCAPE);
        assertTrue(solo.searchText("load"));
    }

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

JUnit 探索显示 0/0 测试运行。调试器没有命中此处提到的任何代码路径,并且控制台输出“测试运行完成”??:

Uploading MyAppTest.apk onto device 'emulator-5554'
Installing MyAppTest.apk...
Success!
Project dependency found, installing: MyApp
Uploading MyApp.apk onto device 'emulator-5554'
Installing MyApp.apk...
Success!
Launching instrumentation android.test.InstrumentationTestRunner on device emulator-5554
Collecting test information
Sending test information to Eclipse
Running tests...
Test run finished

有人知道出了什么问题吗?我严格遵循了 Robotium 教程中的所有步骤。我知道围绕此问题存在很多问题,但我已经处理了所有答案。

Robotium 与 JUnit4 也有类似的问题 here .

最佳答案

是的,我知道出了什么问题。

为了运行测试,您需要以 test 开始。所以你的代码应该是这样的:

import android.test.ActivityInstrumentationTestCase2;
import com.package.sample.MyActivityClass;
import com.jayway.android.robotium.solo.Solo;

public class TestSample extends ActivityInstrumentationTestCase2<MyActivityClass> {
    private Solo solo;
    public TestSample() {
        super("com.package.sample", MyActivityClass.class);
    }

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

    //the test methods MUST begin with test...
    public void testClickbutton1() throws Exception{
        solo.clickOnButton("abc");
        solo.setActivityOrientation(Solo.LANDSCAPE);
        assertTrue(solo.searchText("load"));
    }

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

不久前我遇到了类似的问题,而 Robotium 没有最好的文档。我希望这对你有帮助:)

关于Android JUnit 测试未在 Robotium 中检测到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11390276/

相关文章:

android googleMap - 如何启动两个相机更新动画?

java - 为什么 JUnit 不提供 assertNotEquals 方法?

java - 在 Robotium Script 中用预期结果验证多个单词

Android Toast 堆积测试

java - org.json.JSONException : End of input at character 0 of

android - 在 Android 代码中制作错误消息

java - 安卓/Java : Sigmoid function to update double value

java - 使用 getter 但不分配返回值是不好的做法吗?

java - 在我的 Maven 项目中无法使用 Junit 4.12 解析 'junit'

android - 如何编写跨越 2 个应用程序的 Android 测试用例