为什么 throw new SkipException() 会跳过我的所有方法?

2024-04-03

为什么 throw new SkipException() 会跳过所有类中的所有方法?

  1. 第一类有一个方法失败,因此该类中的其余方法将被跳过,并且跳过计数器设置为 0。
  2. 第二类应该执行所有方法,并且所有方法都应该传入第二类,因为跳过计数器设置为 0 并且在第一类执行之后。

下面的代码似乎跳过了所有方法,即使只有一个assert.fail包含在第一类中?

测试基地:

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.ITestResult;
import org.testng.SkipException;

  public class TestBase {
        static int numb = 0;
      @BeforeMethod
      public void beforeMethod() {
          if(numb == 1) {
                throw new SkipException("Skipping this test");
          }  
      }

      @AfterMethod
      public void afterMethod(ITestResult testResult) {
            if (testResult.getStatus() == ITestResult.FAILURE) {
                numb = 1;
            }
      }

      @BeforeClass
      public void beforeClass() {
          TestBase.numb = 0;
      }

Test1:

import org.testng.annotations.Test;

public class Test1 extends TestBase {
    @Test(priority = 1)
    public void test1() throws Exception {
        Assert.fail();
    }

    @Test(priority = 2)
    public void test2() throws Exception {
        System.out.println("method2");
    }

    @Test(priority = 3)
    public void test3() throws Exception {
        System.out.println("method3");
    }
}

Test2:

import org.testng.annotations.Test;

public class Test2 extends TestBase {
    @Test(priority = 1)
    public void test1() throws Exception {
        System.out.println("method4");
    }

    @Test(priority = 2)
    public void test2() throws Exception {
        System.out.println("method5");
    }

    @Test(priority = 3)
    public void test3() throws Exception {
        System.out.println("method6");
    }
}

控制台输出:

..
... TestNG 6.9.10 by Cédric Beust ([email protected] /cdn-cgi/l/email-protection)
...

[TestNG] Running:
  C:\Users\Gianni.Bruno\Desktop\BuyAGiftFramework\BuyAGiftFramework\Test.xml

[TestRunner] Starting executor for test BuyAGift Automation Tests with time out:2147483647 milliseconds.
SKIPPED CONFIGURATION: @BeforeMethod beforeMethod
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod beforeMethod
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeClass beforeClass
SKIPPED CONFIGURATION: @BeforeMethod beforeMethod
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod beforeMethod
SKIPPED CONFIGURATION: @AfterMethod afterMethod
SKIPPED CONFIGURATION: @BeforeMethod beforeMethod
SKIPPED CONFIGURATION: @AfterMethod afterMethod
FAILED: test1
junit.framework.AssertionFailedError
    at junit.framework.Assert.fail(Assert.java:47)
    at junit.framework.Assert.fail(Assert.java:53)
    at BuyAGiftFramework.test.Test1.test1(Test1.java:9)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:86)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:643)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:820)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1128)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

SKIPPED: test2
SKIPPED: test3
SKIPPED: test1
SKIPPED: test2
SKIPPED: test3

===============================================
    BuyAGift Automation Tests
    Tests run: 6, Failures: 1, Skips: 5
    Configuration Failures: 0, Skips: 11
===============================================


===============================================
BuyAGift_Automation_Scripts_by_GBruno
Total tests run: 6, Failures: 1, Skips: 5
Configuration Failures: 0, Skips: 11
===============================================

[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@366e2eef: 14 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@1936f0f5: 16 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@3f2a3a5: 32 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@614c5515: 94 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 16 ms
[TestNG] Time taken by org.testng.reporters.EmailableReporter2@6537cf78: 19 ms

测试执行 XML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Automation_Scripts_by_GB" verbose="2" parallel="classes" thread-count="1">

    <test name="BuyAGift Automation Tests">
        <packages>
            <package name="BuyAGiftFramework.test.*"></package>
        </packages>
    </test>
</suite>

configFailurePolicy 的默认行为是“跳过”。因为如果您在配置方法中遇到异常,则无需运行测试。但如果您无论如何都想运行测试,请将此配置更改为“继续” 可以通过更新配置来实现

  <suite name="SuiteName" parallel="tests" thread-count="1" verbose="10" configfailurepolicy="continue">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 throw new SkipException() 会跳过我的所有方法? 的相关文章

  • java中监视目录变化

    我正在使用 WatchService 来监视目录中的更改 特别是目录中新文件的创建 下面是我的代码 package watcher import java nio file import static java nio file Stand
  • 与 Eclipse 中的 Java Content Assist 交互

    作为我的插件项目的一部分 我正在考虑与 Eclipse 在 Java 文件上显示的内容辅助列表进行交互 我正在尝试根据一些外部数据对列表进行重新排序 我看过一些有关创建新内容辅助的教程 但没有看到有关更改现有内容辅助的教程 这可能吗 如果是
  • Android:文本淡入和淡出

    我已阅读此 stackoverflow 问题和答案 并尝试实现文本淡入和淡出 Android中如何让文字淡入淡出 https stackoverflow com questions 8627211 how to make text fade
  • Thymeleaf 3 Spring 5 映射加载字符串而不是 HTML

    我正在尝试将 Spring 5 和 Thymeleaf 3 一起配置 我正在 Eclipse 上工作 我使用 全新安装 构建并使用 springboot run 运行应用程序 我已经设置了一个控制器和几个模板 但 Thymeleaf 似乎找
  • 为什么即使我的哈希码值相同,“==”也会返回 false

    我写了一个像这样的课程 public class HashCodeImpl public int hashCode return 1 public static void main String args TODO Auto generat
  • 如何调试“com.android.okhttp”

    在android kitkat中 URLConnection的实现已经被OkHttp取代 如何调试呢 OkHttp 位于此目录中 external okhttp android main java com squareup okhttp 当
  • Android studio - 如何保存先前活动中选择的数据

    这是我的代码片段 这Textview充当按钮并具有Onclicklistner在他们 当cpu1000时Textview单击它会导致cpu g1000其代码如下所示的类 public class Game 1000 extends AppC
  • 提供节点名或服务名,或未知 Java

    最近我尝试运行我的 Java 项目 每当我运行它并将其打开到我得到的服务器地址时 Unable to determine host name java net UnknownHostException Caused by java net
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • 如何仅从 Firestore 获取最新更新的数据?

    在 Firestore 上发现任何更改时始终获取整个文档 如何只获取最近更新的数据 这是我的数据 我需要在第一次加载时在聊天中按对象顺序 例如 2018 09 17 30 40 msg和sendby 并且如果数据更新则仅获取新的msg和se
  • Java继承,扩展类如何影响实际类

    我正在查看 Sun 认证学习指南 其中有一段描述了最终修饰符 它说 如果程序员可以自由地扩展我们所知的 String 类文明 它可能会崩溃 他什么意思 如果可以扩展 String 类 我是否不会有一个名为 MyString 的类继承所有 S
  • 如何将 HTML 链接放入电子邮件正文中?

    我有一个可以发送邮件的应用程序 用 Java 实现 我想在邮件中放置一个 HTML 链接 但该链接显示为普通字母 而不是 HTML 链接 我怎样才能将 HTML 链接放入字符串中 我需要特殊字符吗 太感谢了 Update 大家好你们好 感谢
  • 使用 Elastic Beanstalk 进行 Logback

    我在使用 Elastic Beanstalk 记录应用程序日志时遇到问题 我正在 AWS Elastic Beanstalk 上的 Tomcat 8 5 with Corretto 11 running on 64bit Amazon Li
  • Spring @Cacheable 和 @Async 注解

    我需要缓存一些异步计算的结果 具体来说 为了克服这个问题 我尝试使用 Spring 4 3 缓存和异步计算功能 作为示例 我们采用以下代码 Service class AsyncService Async Cacheable users C
  • 将 JavaFX FXML 对象分组在一起

    非常具有描述性和信息性的答案将从我这里获得价值 50 声望的赏金 我正在 JavaFX 中开发一个应用程序 对于视图 我使用 FXML
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • 在 Spring 上下文中查找方法级自定义注释

    我想知道的是 所有的类 方法Spring http en wikipedia org wiki Spring Framework注释为 Versioned的bean 我创建了自定义注释 Target ElementType METHOD E
  • 列表过滤器内的 Java 8 lambda 列表

    示例 JSON id 1 products id 333 status Active id 222 status Inactive id 111 status Active id 2 products id 6 status Active
  • Java/Python 中的快速 IPC/Socket 通信

    我的应用程序中需要两个进程 Java 和 Python 进行通信 我注意到套接字通信占用了 93 的运行时间 为什么通讯这么慢 我应该寻找套接字通信的替代方案还是可以使其更快 更新 我发现了一个简单的修复方法 由于某些未知原因 缓冲输出流似
  • Spring RESTful控制器方法改进建议

    我是 Spring REST 和 Hibernate 的新手 也就是说 我尝试组合一个企业级控制器方法 我计划将其用作未来开发的模式 您认为可以通过哪些方法来改进 我确信有很多 RequestMapping value user metho

随机推荐

  • 尝试将设备注册到 Bluemix 上的 IBM Mobile First Push 服务时,iOS 应用程序崩溃

    我有一个在 iPad mini 4 iOS 9 0 2 上运行的 iOS 9 应用程序 尝试将设备注册到 Bluemix 上的 IMFPush 服务实例时 它崩溃了 以下是在我的应用程序委托中执行注册的代码 func application
  • 如何在 BigQuery 中选择包含所有 NULL 值的数据列

    如何在 BigQuery 中选择包含所有 NULL 值的数据列 A B C NULL 1 NULL NULL NULL NULL NULL 2 NULL NULL 3 NULL 我想检索 A 列和 C 列 请您帮忙 扩展我对米哈伊尔答案的评
  • RTSP服务器java实现问题:(

    我正在编写 RTSP 服务器并遇到一些问题 我使用 VLC 作为客户端 服务器从客户端 VLC 播放器 接收 OPTIONS DESCRIBE SETUP 和 PLAY 命令并回答该命令 通过 SETUP 命令客户端发送端口号 我正在使用该
  • HTML/CSS - 神秘的顶部填充不会消失

    我正在使用 CSS 制作列布局 并且进展顺利 令人惊讶的是 我的问题不是如何让专栏发挥作用 而是如何让专栏发挥作用 这就是功能 但我的专栏顶部却出现了一个令人毛骨悚然的神秘 填充 它正在压低内容 我在这里准备了一个例子 jsFiddle h
  • Callable 应该优先于 Runnable 吗?

    我已经明白了之间的区别Runnable and CallableJava 中的接口 从 Java 1 5 开始 添加了额外的功能Runnable接口并被调用Callable以保持向后兼容性 我的问题是现在我们有Callable接口 我们应该
  • GraphQL 请求错误 - 未知参数“slug”

    我正在尝试将我的 index js 页面链接到文章模板 以使用 slug 和显示来自中间件 Drupal 站点的数据createPages 我的 index js 页面和我的页面上的数据正确显示createPages将文件路径更改为后似乎没
  • OpenCL 在调用 clGetPlatformIDs 时崩溃

    我是 OpenCL 新手 在配备 Intel R HD Graphics 4000 运行 Windows 7 的 Core i5 计算机上工作 我安装了支持 OpenCL 的最新 Intel 驱动程序 GpuCapsViewer 确认我有
  • 何时在 Jersey 资源中使用 @Singleton

    我有一个访问数据库的泽西岛资源 基本上它在资源初始化时打开一个数据库连接 对资源的方法执行查询 我观察到 当我不使用 Singleton 时 数据库会根据每个请求打开 我们知道打开连接真的很昂贵 对吧 所以我的问题是 我应该指定资源是单例的
  • 为什么我的 React-Testing 库查询都不起作用?

    我正在使用 Jest Testing Library 编写 UI 单元测试 组件没有在 DOM 上渲染 罪魁祸首是组件 RequireScope 它单独包装了所有组件 换句话说 每个组件都会返回 return
  • 表格部分标题上方的白色分隔符

    我在表视图分隔符方面遇到了一个非常奇怪的问题 我已将分隔符颜色设置为深灰色 这在单元格下方效果很好 但由于某种原因 我的部分标题之前有一个白色分隔符 请参见 11 月上方的屏幕截图 当我将分隔符样式设置为无时 该线消失 表明它是分隔符 如何
  • WPF 中的 2D CAD 应用

    我正在尝试在 WPF NET 4 0 中编写一个类似 CAD 的应用程序 它需要能够显示大量 2D 点 线 它将用于通过鼠标悬停时的缩放 平移 旋转和点捕捉来显示整个城市的 CAD 平面图 现在我纯粹使用WPF 我从 CAD 文件中读取对象
  • 调整控制模板并仍然尊重操作系统的主题?

    在 WPF 中 如何修改标准控件的模板 使其稍后尊重操作系统的当前主题 如果我只是在混合中 编辑模板的副本 它只会给我当前运行主题的模板 它是否正确 因此 当我应用修改后的模板并在不同的主题上运行应用程序时 它看起来总是一样的 对于自定义控
  • 如何在 iPhone 上使用活动指示器视图?

    活动指示器视图在许多应用程序中都很有用 关于如何在 iPhone 上添加 激活和关闭活动指示器视图有什么想法吗 这里欢迎所有的方法 Create spinner UIActivityIndicatorView alloc initWithA
  • 如何在 Rails 中构建投票/调查类型应用程序

    我试图了解如何在 Rails 中创建民意调查 调查应用程序 现在我有以下模型 Poll id question string answer 1 string answer 2 string answer 3 string answer 4
  • 使用 openssl 而不是 mcrypt 在 PHP 中解密 AES-256-CFB

    下面的函数正确解密php5中的数据 function decrypt mcrypt key str str base64 decode str iv substr str 0 16 str substr str 16 return mcry
  • Socialauth-android 与 Facebook 授权成功,但验证码为空

    我正在使用socialauth android 让我的 Android 用户在 Facebook 上进行身份验证 我的问题如下 我可以成功显示 Facebook 登录页面 用户可以在其中输入凭据并授权我的应用程序 授权完成后 应调用 Soc
  • 为作为单独进程运行的 MAF 插件指定一个自定义名称

    我在单独的进程中使用 MAF 托管加载框架 激活我的插件 问题是它为每个进程提供了默认名称 AddInProcess32 作为单独进程运行的插件 我可以为 MAF 创建的流程指定一个自定义名称吗 如果是这样怎么办 PS 为什么我想给自定义名
  • 在 Seekbar 上注册 LongClick 侦听器

    在android中 我是否可以在搜索栏上注册长按监听器 我已经这样做了 mySeekBar setLongClickable true mySeekBar setOnLongClickListener new OnLongClickList
  • graph_from_place OSMNX 的响应时间极长

    我正在尝试下载墨西哥地图以避免使用查询save graphml并避免较长的响应时间graph from place 但我已经让这段代码运行了近六个小时 并且完全没有任何反应 import osmnx as ox ox config use
  • 为什么 throw new SkipException() 会跳过我的所有方法?

    为什么 throw new SkipException 会跳过所有类中的所有方法 第一类有一个方法失败 因此该类中的其余方法将被跳过 并且跳过计数器设置为 0 第二类应该执行所有方法 并且所有方法都应该传入第二类 因为跳过计数器设置为 0