如何在不解压依赖 jar 的情况下运行具有故障安全功能的 TestNG 套件?

2024-02-25

我想使用包含在依赖项 jar 中的 TestNG 套件文件来执行集成测试。

The 设置 pom.xml 的详细信息将在此处讨论 https://stackoverflow.com/questions/10496846/run-junit-tests-contained-in-dependency-jar-using-maven-surefire

这是我目前拥有的 pom 文件。问题出在我需要定义套件文件的部分:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>test</groupId>
  <artifactId>test-runner</artifactId>
  <version>1.0.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>${test.library.groupId}</groupId>
      <artifactId>${test.library.artifactId}</artifactId>
      <version>${test.library.version}</version>
    </dependency>
    <dependency>
      <groupId>${test.library.groupId}</groupId>
      <artifactId>${test.library.artifactId}</artifactId>
      <version>${test.library.version}</version>
      <classifier>tests</classifier>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.18</version>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <suiteXmlFiles>
            <suiteXmlFile>${test.suite}.xml</suiteXmlFile> <!-- <<< this is the issue -->
          </suiteXmlFiles>
          <dependenciesToScan>
            <dependency>${test.library.groupId}:${test.library.artifactId}</dependency>
          </dependenciesToScan>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

可以通过在 Jenkins 作业中提供参数值来执行测试:

    -Dtest.library.groupId=com.example.test
    -Dtest.library.artifactId=example
    -Dtest.library.version=2.0.1
    -Dtest.suite=smoke

如果套件文件在本地可用,那么这一切都可以正常工作,但我想让它与仅在 jar 中可用的套件文件一起工作(与测试类相同)。无需拆包。

所以问题是:如何定义套件文件(打包在依赖项中)的位置?

这是有问题的部分:

<suiteXmlFile>[whatComesHere?]${test.suite}.xml</suiteXmlFile>

如何将failsafe/surefire指向测试jar中包含的套件文件?或者这是不可能的,我必须解压 jar 只是为了能够运行特定的套件文件?


使用 Surefire 插件在配置部分指定以下属性:

        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${version}</version>
        <configuration>
          <properties>
            <property>
              <name>testjar</name>
              <value>your.test.jar</value>
            </property>
            <property> <!--use if testng.xml is not in root directory-->
              <name>xmlpathinjar</name>
              <value>resources/testng.xml</value>
            </property>
          </properties>
        </configuration>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不解压依赖 jar 的情况下运行具有故障安全功能的 TestNG 套件? 的相关文章

随机推荐

  • 文本区域的值?怎样填写呢?

    我正在尝试填补一个textarea使用javascript 问题是我发现textarea没有值标签 并且
  • Android 资源 ID

    我正在从自定义 xml 视图类型检索自定义资源 ID 我被要求为检索指定一个默认的 int 值 并且想知道 ID 的范围是多少 它们总是正数还是包含零 即 1 是一个有效的 空 引用和 或 0 是一个有效的 空 引用吗 Thanks EDI
  • 将嵌套的 for 循环转换为单个 LINQ 语句

    有人可以帮我将此嵌套结构转换为单个 LINQ 语句吗 EventLog logs EventLog GetEventLogs for int i 0 i lt logs Length i if logs i LogDisplayName E
  • 尝试为 ARM 构建 GDB 时出错

    我正在尝试为我的 Ubuntu 16 04 机器上的手臂构建 GDB 版本 8 0 我打算直接在arm机器上调试 目前没有服务器 我已经执行了这些指令 正如所解释的那样here https sourceware org gdb wiki B
  • 在 Python 中使用数量时消除单位

    我正在使用伟大的数量 http pypi python org pypi quantitiesPython 的包 我想知道如何在没有单位的情况下仅获得数量的数值 即 如果我有 E 5 3 quantities joule 我只想得到5 3
  • Android 是否将从 HTTP 下载的图像保留在缓存中?

    这就是我的程序的工作原理 1 显示来自服务器的图片 2 用户更改图片并上传到服务器 3 从服务器重新下载显示图片 这是我从服务器获取图片的方式 String src http www getyourpicture com mypicture
  • Scala Map 实现按插入顺序保留条目?

    在Java中 我使用LinkedHashMap以此目的 Java 的文档LinkedHashMap很明显它有 可预测的迭代顺序 我在 Scala 中也需要同样的东西 斯卡拉有ListMap and LinkedHashMap 但是关于他们到
  • 将数据框中的列乘以向量

    我想要做的是将 data frame 的第 1 列中的所有值乘以向量中的第一个元素 然后将第 2 列中的所有值乘以向量中的第二个元素 依此类推 c1 lt c 1 2 3 c2 lt c 4 5 6 c3 lt c 7 8 9 d1 lt
  • 使用 XMLHTTP 方法时等待页面加载

    在下面的工作代码中 我尝试导航到特定的 YouTube 频道 要将视频名称放入 Excel 中 它可以工作 但部分工作 因为代码只列出了大约 30 个视频 Dim x html As Object ele As Object sKeyWor
  • 当 ASP.net 验证摘要已填写时,如何调用 javascript 函数

    我的页面中有一个validationSummary 我想在validationSummary填充后调用一个javascript函数 我怎样才能做到这一点 我认为我应该在后面的代码中添加一个属性 但我无法弄清楚该属性的键是什么 有什么帮助吗
  • VirtualPathUtility 的 ASP.Net Core 替换

    有替代品吗VirtualPathUtility ToAbsolute在 ASP Net Core 中 似乎不可用 我想转换相对路径 例如将 bob 转换为绝对路径 例如 应用程序 鲍勃 我试图从类库中执行此操作 因此无法访问控制器和视图的常
  • 每个块的最大线程数

    我有以下信息 Maximum number of threads per block 512 Maximum sizes of each dimension of a block 512 x 512 x 64 这是否意味着 2d 线程块中的
  • Git:添加非暂存文件

    我对文件进行了更改 尝试暂存文件后git add 像往常一样 我继续承诺git commit m 然而 终端向我吐出了这样的信息 no changes added to commit use git add and or git commi
  • pandas 中 DataFrame.div 和 DataFrame.divide 的区别

    我试图将 pandas 数据帧的一列元素与另一列的相同行索引元素分开 在尝试寻找库函数来实现此目的时 我遇到了两个函数数据框 div https pandas pydata org pandas docs stable generated
  • 计算数据框中每列的非 NA 值的数量[重复]

    这个问题在这里已经有答案了 我有一个很大的数据集 其中包含很多NAs 和一些非 Na 值 此刻我数着我的非NA每列的值如下所示 attach df 1000 sum is na X1 1000 sum is na X2 1000 sum i
  • 带有用于 NTLM 身份验证的 http 客户端的 Spring Rest 模板

    我们在 IIS 服务器中部署了一个 Web 服务 该服务基于 NTLM 身份验证进行身份验证 当我尝试通过在 httpClient UserNamePasswordCredentials 中传递用户名和密码来访问 Web 服务时 收到警告
  • React应用程序未在azure应用程序服务中启动

    我已将一个简单的反应应用程序部署到 azure 应用程序服务 但它无法启动 如何让应用程序运行index html 将此命令添加到您的 azure 仪表板 gt 配置 gt 启动命令中 pm2 serve home site wwwroot
  • 在 sailsjs 视图中访问会话变量

    我对 sailsjs 和 nodejs 很陌生 我正在尝试创建一个身份验证页面 其中一旦用户通过身份验证 我想设置 req session user user id req session authenticated true 然后我需要在
  • 使用平移和缩放计算正确的光标位置

    我已经在这个问题上折腾了大约一个小时了 我有一个支持平移和缩放的视口 平移是通过存储 X 和 Y 轴的偏移来处理的 缩放只是一个从 0 2 到 14 的浮动值 我的问题是 我需要能够将内容放置在用户在视口中单击的位置 但是当我缩放和平移时
  • 如何在不解压依赖 jar 的情况下运行具有故障安全功能的 TestNG 套件?

    我想使用包含在依赖项 jar 中的 TestNG 套件文件来执行集成测试 The 设置 pom xml 的详细信息将在此处讨论 https stackoverflow com questions 10496846 run junit tes