问题标签 [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 投票
1 回答
7417 浏览

ant - 调试 TestNG 配置失败

我正在从 Ant 运行 TestNG。我正在使用我自己的测试听众。我正在重构代码,有时我得到了

修复配置失败的最佳方法是什么?

0 投票
3 回答
10503 浏览

spring - springTestContextBeforeTestMethod在Maven spring-test中失败

我尝试在 Maven 中使用 TestNg 设置一个带有 spring-test 的项目。代码如下:

一个 test-context.xml 简单地定义了一个 bean:

从命令行运行 mvn test 时出现 Failed to load ApplicationContext 错误,似乎找不到 test-context.xml 文件;但是,我可以让它在 Eclipse 中正确运行(使用 TestNg 插件)。

那么,test-context.xml 位于 src/test/resources/ 下,我如何在 pom.xml 中指出这一点,以便“mvn test”命令起作用?谢谢,

更新:

谢谢回复。无法加载上下文文件错误是由于我将文件移动到不同的位置引起的,因为我认为类路径是问题所在。现在我发现上下文文件似乎是从 Maven 输出中加载的,但是测试失败了:

如果我使用 spring-test 版本 3.0.2.RELEASE,错误变为:

这是项目的结构:

testng.xml:

测试上下文.xml:

在 pom.xml 中,我添加了 testng、spring 和 spring-test 工件和插件:

基本上,我用 TestNg 替换了“一个简单的 Maven 项目”Junit,希望它有效。

更新:

我想我遇到了问题(仍然不知道为什么) - 每当我扩展 AbstractTestNGSpringContextTests 或 AbstractTransactionalTestNGSpringContextTests 时,测试都会失败并出现以下错误:

因此,当我覆盖这两种方法时,错误最终消失了。我认为这不是正确的方法,没有从 spring-test 文档中找到太多信息。如果您知道弹簧测试框架,请对此有所了解。

0 投票
4 回答
27694 浏览

maven - 我可以通过 maven 运行特定的 testng 测试组吗?

我有几个 testng 测试组,例如 group1、group2、group3... 这些在我的 pom.xml 中定义,并且在我执行“mvn test”时全部运行。我需要运行什么才能只执行一个组而无需修改 pom.xml 中配置的组。

即 mvn 测试组 2 mvn 测试组 1 mvn 测试组 3

0 投票
3 回答
7923 浏览

java - TestNG - 工厂和数据提供者

背景故事

我在一家软件公司工作,正在开发一个测试自动化框架来取代我们旧的意大利面条纠缠不清的系统。

由于我们的系统几乎要求我们所做的所有事情都需要登录,因此我决定最好使用@BeforeMethod、@DataProvider 和@Factory 来设置我的测试。但是,我遇到了一些问题。

示例测试用例

可以说软件系统是一个棒球队名册。我们想要测试以确保用户可以按姓名搜索团队成员。

(注意:我知道 BeforeMethods 不会以任何给定的顺序运行——假设现在已经处理好了。)

这个测试用例假设如下:

  • 用户已经登录(很可能是在 BeforeMethod 中)
  • 用户已经导航到搜索页面(微不足道,之前的方法)
  • 测试的参数与上述登录相关联

问题

因此,让我们尝试弄清楚如何处理测试用例的参数。

想法#1

这种方法允许我们将数据提供者与用户名相关联,并允许我们为任何特定的测试用例使用多个用户!

...但是有很多重复,因为我们必须让每个函数都接受两个额外的参数。更不用说,我们还在测试确认公告功能,我们实际上并不想测试。

想法#2

因此,让我们使用工厂来正确初始化事物!

有了这个,我们最终不得不为每个测试用例编写一个工厂......虽然,它确实让我们每个测试用例有多个用户。

结论

我的想法很新鲜。我有另一个想法,我从 XML 文件加载数据,然后从程序中调用方法……但它变得愚蠢。

有任何想法吗?

0 投票
5 回答
50387 浏览

java - 如何获取在 testng 拆卸方法中运行的测试方法的名称?

基本上,我有一个拆卸方法,我想登录到刚刚运行测试的控制台。我将如何获得该字符串?

我可以获得类名,但我想要刚刚执行的实际方法。

...应该输出到屏幕:“刚刚运行的测试是:testCase”

但是,我不知道getTestThatJustRanMethodName实际上应该是什么魔法。

0 投票
3 回答
2461 浏览

java - 在 Eclipse 3.5 上安装较旧的 TestNG 插件时出现问题

我正在尝试在 eclipse 3.5 上安装 TestNG 5.11 并获取以下内容。

我有点卡住了,所以我真的很需要帮助。谢谢

0 投票
5 回答
74263 浏览

java - java.lang.IllegalStateException:缺少前面方法调用 getMessage("title") 的行为定义

我正在使用 EasyMock(2.4 版)和 TestNG 来编写 UnitTest。

我有以下情况,我无法更改定义类层次结构的方式。

我正在测试扩展 ClassA 的 ClassB。

B类看起来像这样

A类代码

ClientMessages 类代码

MessageResource 类代码

测试B类

当我运行这个测试时,我得到以下异常:

java.lang.IllegalStateException:缺少前面方法调用 getMessage("title") 的行为定义

在调试我发现的是,它没有考虑模拟方法调用 mockMessageResourse.getMessage("ClassB.title")因为它是从构造函数(ClassB 对象创建)调用的。

任何人都可以帮我在这种情况下如何测试。

谢谢。

0 投票
1 回答
1930 浏览

testng - 在 TestNG 中捕获控制台输出?

我在 gradle 中使用每个 wiki指令的 TestNG + ReportNG(我固定在食谱上,因为默认示例对我不起作用)。

我想以某种方式在 TestNG 中捕获控制台输出。这可能吗?

谢谢米莎

0 投票
2 回答
392 浏览

testng - testng 和 gradle - 查看死锁测试的输出?

如果我有一个挂起的测试,我似乎没有得到任何结果。

有什么办法可以实时查看输出吗?

谢谢米莎

0 投票
3 回答
19801 浏览

java - 将一种测试方法的输出传递给另一种方法 testng

我必须在 testng 中编写以下单元测试用例:

  1. 如果产品详细信息成功保存在数据库中,saveProductTest 将返回 productId。

  2. modifyProductTest,它应该使用之前保存的productId作为参数。

我正在使用 testNg 数据提供程序从 XML 文件中为 saveProductTest 和 modifyProductTest 方法获取产品详细信息输入(PrdouctName,ReleaseDate)。由于 productId 是在 save 方法中生成的,因此我必须将其传递给 modify 方法。

将一种测试方法的输出传递给 testng 中的另一种方法的最佳方法是什么?