java - 如果 JUnit 测试失败则停止测试

标签 java android unit-testing junit android-webview

我正在尝试弄清楚如何使我的 JUnits 测试按照特定顺序运行,并在其中一个测试失败时停止所有测试。下面我只包含了一些简单的操作栏项目测试。我基本上想确保的是,当我通过命令行运行构建/测试时,如果这些测试之一失败,我希望测试停止。有什么建议吗?

public void testPreconditions() {
    assertNotNull(instrumentation);
    assertNotNull(mWeb);
    assertNotNull(mActivity);
}

protected void setUp() throws Exception {
    super.setUp();

    instrumentation = getInstrumentation();
    mActivity = getActivity();
    setActivityInitialTouchMode(false);
    mWeb = (WebView) mActivity
            .findViewById(com.jaisonbrooks.webview.R.id.webview_main);
    mMockWebViewClient = new MockWebViewClient();
    mWeb.setWebViewClient(mMockWebViewClient);
    mSettings = mWeb.getSettings();
}

public void testThatButtonReloadWorks() {
    final View view = mActivity
            .findViewById(com.jaisonbrooks.webview.R.id.menu_refresh);
    mActivity.runOnUiThread(new Runnable() {

        @Override
        public void run() {
            view.requestFocus();
            view.callOnClick();
        }
    });
}

public void testThatButtonForwardWorks() {
    final View view = mActivity
            .findViewById(com.jaisonbrooks.webview.R.id.menu_forward);
    mActivity.runOnUiThread(new Runnable() {

        @Override
        public void run() {
            view.requestFocus();
            view.callOnClick();
        }
    });
}

public void testThatButtonBackWorks() {
    final View view = mActivity
            .findViewById(com.jaisonbrooks.webview.R.id.menu_back);
    mActivity.runOnUiThread(new Runnable() {

        @Override
        public void run() {
            view.requestFocus();
            view.callOnClick();
        }
    });
}

最佳答案

如果您使用 JUnit 进行集成测试,则可以在方法名称前添加 _1、_2 等前缀:

public void _1_testThatButton()...
public void _2_testSomethingSecond()...

我想你可以调用 System.exit() 而不是抛出异常,但是如果你的测试花费的时间太长,这对于将来添加更多测试来说可能是一个坏兆头(添加更多测试可能会阻止你运行他们)。

如果您使用的是 ant,您可以尝试以下操作:How to make junit testing to stop after first failing test

关于java - 如果 JUnit 测试失败则停止测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15481034/

相关文章:

javascript - 如何解决Google Charts loader.js只能加载一次

java - 如何以适用于 Gnome 和 KDE 的方式在 Java Swing 中启动网站

android - 在 YouTube 工作室中打开视频的正确链接是什么?

java - 如何从Java中的主类访问src.test包或如何从主类运行测试类?

c# - 在单元测试项目中运行多个单元测试

javascript - 在 JavaScript 测试中模拟 setInterval 返回的 ID

Java ProcessBuilder 调试器 Netbeans

java - opencv pyrDown() 对javacv 的相等方法是什么?

java - 错误 NullPointerException 自定义操作栏

java - 如何设置静态缩放限制谷歌地图v2 android