问题标签 [testng]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
18919 浏览

java - 问题:无法创建任务或键入 testng。原因:名称未定义

我有一个小问题要运行 testng 测试。我使用 ant 任务调用测试,该任务返回以下错误消息:

BUILD FAILED
/**/build.xml:136: Problem: failed to create task or type testng
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.

ant 任务如下所示:

这是测试类:

包**.pseudotest;

导入 org.apache.log4j.Logger;
导入 org.testng.annotations.Test;

公共类 PseudoTest {

@Test(groups = { "pseudoTest" })
public void aSingleTest() {
assert false : "简单测试失败,不返回 true"; }
}

有人可以帮我解决这个问题吗?

谢谢

英属维尔京群岛

0 投票
3 回答
838 浏览

compiler-errors - TestNG 对我来说很好,但会为其他工程师抛出 com.google.inject.internal.asm.util.TraceClassVisitor classnotfoundexception

我的 ANT 脚本在我的 linux 机器和一些 xp VM 上运行没有问题。当另一个工程师试图在本地启动它时,TestNG 抛出 [testng] Caused by: java.lang.ClassNotFoundException: com.google.inject.internal.asm.util.TraceClassVisitor not found in(我的库都在这里)

我以前从未见过这门课,也不知道是什么原因导致这种情况只发生在他的机器上。我已经尝试导入 asm-util-3.1.jar 但它没有找到它,因为它看起来在 com.google.internal.asm.util 而不是 org.objcetweb.asm.util 中。

0 投票
2 回答
1602 浏览

testng - 同一数据提供者的不同 Excel 表

是否可以为不同的测试方法使用不同的excel表在testng中共享相同的数据提供者

0 投票
3 回答
2052 浏览

java - 来自 ant 的测试:指定 -server -Xms?

我正在使用该任务从 ant 运行 testng。我真的很想将 -server 选项添加到分叉的 jvm 以及指定堆空间量。有人知道该怎么做吗?

我在这里什么也没看到:http: //testng.org/doc/ant.html

谢谢,本

0 投票
2 回答
11681 浏览

java - 如何让 TestNG 在特定组中运行测试(从命令行)?

我正在从命令行调用 TestNG,如下所示:

...只运行带有以下注释的测试:

...但它正在运行我所有的测试。我需要更改我的 testng.xml 文件吗?

TestNG 是否忽略 -groups 命令行参数,因为 testng.xml 说要运行包中的所有测试?如果是这样,我应该如何更改我的 testng.xml 文件?

0 投票
2 回答
595 浏览

java - 在 Maven/Hudson 和 TestNG 中使用多个类

test我们在一个文件夹中使用多个测试类。当我运行时mvn test,所有测试都运行,我可以在 shell 中看到输出。但是生成的 testng-results.xml 只有最后一个在其中测试的类的结果。这对我来说还不错,但是我们的 hudson 服务器只显示这些最后的结果,并且只有在最后一个类中的一个测试失败时才将构建标记为失败。

如何使用 TestNG 将测试拆分为几个类,这些类将聚合到 results-xml 中?

[更新] 刚找到这个问题,也没有答案。[/更新]

0 投票
3 回答
2095 浏览

java - GWT+Java:全局、单例和头痛

所以这是我的项目:

我正在构建一个中央界面/仪表板来呈现多个产品版本的几种测试类型的测试数据。我们在我们的大型产品上使用 TestNG,虽然没有编写足够的测试,但这是另一个话题的讨论。目录结构如下所示:

文件系统/productVersion+testType/uniqueDateAndBuildID/testng-results.xml

该 results.xml 文件包含带有子测试标签的标签,这些标签对应于文件系统目录,然后是包含实际测试用例结果(通过、失败等)的 xml 文件。XML 解析和文件系统遍历都很好,很好/可靠。

控制流程:客户端访问主页--> 服务器打开属性文件--> 服务器检查Web 服务器属性(Websphere 或Tomcat,如果我在本地工作)--> 服务器根据它设置一堆常量。常量包括:根文件系统目录、文件系统分隔符(翻译)、“类似类型(在不同平台上基本相同的测试)”以及要附加到的基本 URL。--> 服务器然后再读取一些属性文件并进行所有的 XML 处理。结果缓存在内存中以及使用 ObjectOutputStream 的文件系统中。--> 一个大的结果列表被发送回客户端进行 UI 处理/显示。

这是我遇到问题的地方:即使它们位于共享文件夹中,我也无法在客户端上访问那些全局变量(包含/设置在 Globals 类中......我知道不好 :-/ )。如果您想知道为什么我不能再次加载属性,那是因为客户端是 GWT 化的 Javascript,它不包含 File()。所以我的下一个想法是,在阅读了一些上层 Java 之后,也许可以使用一个 Globals 单例对象并将其也传回......但这似乎同样糟糕,如果不是不可能的话。 这里的建议会很棒。

整个事情是非常紧密耦合的,我之前的 Java 教育还没有真正进入。而且由于这只是供开发人员检查的内部门户,因此实际测试我的代码似乎没有多大意义。只要它正确显示、正确记录并优雅地处理错误,对吗?总而言之,它的课程少于 15 节,所以我猜这并不是什么大不了的事。我应该重构以清理所有内容并使其“更好的Java”,注释所有内容以清楚地描述控制流,还是因为它很小而不必太担心它?我知道将来在设计它们之前要多考虑一些事情,但是我真的不知道从开始接触到的大量高级 Java 原理。

经过一番思考后进行编辑,想出了一个可能的解决方法。怎么样,不是传回一个结果列表,而是传回一些其他自定义列表实现,其中包括一个全局“标题”对象?我可以保存状态。

0 投票
1 回答
637 浏览

testng - 使用 TestNG 进行 Selenium 网格测试 - 在多台机器上进行多项测试

我们有一个正在运行的硒网格设置。在网格之前,当我使用套件参数 parallel="tests" 开始测试时,它将在同一台机器上启动多个浏览器实例。现在我已经设置了网格,每台机器只开始一个测试。如何更改它,以便开始每台机器的更多测试?

0 投票
1 回答
853 浏览

java - TestNG 测试重用

需要一些帮助以 TestNG 术语思考。我有一个用 TestNG 编写的大型第三方测试套件,我希望能够从中编写测试并从 Intellij 或 Maven 运行它们

是否有可能以编程方式将测试组合在一起,并且仍然利用这些其他框架中内置的运行器。在 JUnit 中,您可以这样做:

似乎找不到等效的 TestNG 概念。我看到有一个允许以编程方式创建套件的 XmlSuite 类,但我认为无法将其交给像 Maven Surefire 或 Intellij 这样的测试运行程序。

是否可以简单直接地创建一个测试来移交 XmlSuite 对象或以其他方式以编程方式编写测试,而不必控制测试运行器?

0 投票
4 回答
8921 浏览

intellij-idea - IntelliJ IDEA + TestNG:在组中的每个测试之前运行一个方法

我正在学习将 TestNG 用于 IntelliJ IDEA 9。

据我了解,在一个名为的组中进行测试的一种方法name是对其进行注释@Test(group = "name")。要在每次测试之前运行方法,请使用@BeforeMethod.

在我的测试设置中,我希望一个方法只在特定组中的每个测试之前运行。因此beforeA,在 group 中的每个测试之前运行一个方法,在每个测试之前运行A一个方法等等。beforeBB

示例代码:

我希望输出像

但我得到以下信息:

IntelliJ IDEA 用消息“A 组未定义”或“B 组未定义”突出显示了我所有的注释。

我究竟做错了什么?