问题标签 [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 回答
4217 浏览

java - TestNg,注释“beforeTestMethod”并覆盖

对于我的测试,我使用一个基类来MyTestBase定义一个setup()做一些基础准备的方法:

现在我有一些更具体的测试班,必须自己做准备。有不同的方法来实现这一点。

我可以使用@Override

...或者我可以使用单独的设置方法:

有没有首选的方法来实现这一点?

0 投票
1 回答
4776 浏览

java - Spring3/Hibernate3/TestNG:有些测试给出 LazyInitializationException,有些则没有

前言:我在单元测试中遇到了 LazyInitializationException 问题,我很难理解它,正如您从我的问题 Database Sessions in SpringTestNG 和 Spring 3以及LazyInitializationException while unit-testing Hibernate中看到的那样Spring中使用的实体类,使用TestNG

为了能够清楚地提出我的问题,我在 GitHub 上做了一个示例项目:http: //github.com/niklassaers/Sample-Spring3-App/ 在这个示例项目中,我重现了我面临的问题在我的 Spring3/Hibernate3/TestNG 项目中。

问题:我有两个单元测试,它们非常相似,使用相同的服务为相同的项目集合测试相同的类。一个运行,一个失败。为什么失败的人会失败?(或者,为什么运行的没有以同样的方式失败?)

这是失败的测试:

完整代码位于(http://github.com/niklassaers/Sample-Spring3-App/blob/master/src/tld/mydomain/sample/entities/test/FailingUserUnitTest.java

这是正在运行的测试:

完整代码位于(http://github.com/niklassaers/Sample-Spring3-App/blob/master/src/tld/mydomain/sample/entities/test/UserUnitTest.java

下面是运行我的测试的控制台输出。我了解我将服务包装在 TransactionProxyFactoryBean 中(请参阅http://github.com/niklassaers/Sample-Spring3-App/blob/master/WebRoot/WEB-INF/App-Model.xml),这使它们运行在事务中,单元测试没有被包装,使得测试像一个视图。我用 OpenSessionInViewInterceptor “修复”的视图。但我了解到,在从 AbstractTransactionalTestNGSpringContextTests 扩展的类中使用 @Test 注释的每个单元测试也应该包装在它自己的事务中,实际上我已经注释了两个类以在每个测试完成后回滚事务。这就是为什么我对为什么一项测试失败而另一项测试失败感到双重困惑的原因。任何线索或解决方案?

随意修改 GitHub 上的示例项目,所有代码都应该在那里,但为了简单起见,我省略了 jar 文件。这是承诺的完整输出:

干杯

尼克

0 投票
2 回答
8531 浏览

log4j - 是否有与 TestNG 连接的 log4j appender?

我使用 log4j,并希望通常最终出现在我的日志记录工具中的日志消息出现在我的单元测试期间由 TestNG 创建的测试报告中。

我认为这意味着Appender输出到 TestNGListener的 log4j 和我的 Maven 项目的 src/test/resources 目录中的适当 log4j 配置。那是对的吗?

编写起来似乎相当容易,但有什么我可以通过 Maven 获取的吗?

0 投票
6 回答
56329 浏览

java - 如何使用 testng.xml 从大型 TestNG 套件执行一项测试?

我有一个包含大量方法的 TestNG 套件。我使用构建在 TestNG runner 之上的包装器来执行这个套件。套件中的所有测试都失败了,除了一个。我应该在 testng.xml 中写什么来执行那个失败的测试?

明显的解决方案是为所有方法分配唯一的组名,然后在 testng.xml 中指定名称。这可以在 2-3 种方法的情况下工作,但随着测试数量的增加,它变得越来越难。

0 投票
2 回答
2103 浏览

java - 如何测试已创建的 .class 文件?

我想对我的代码进行单元测试,该代码必须创建一个 .java 文件对其进行编译,然后应该创建相应的 .class 文件。

如何创建测试以查看是否创建了“.class”文件?我已经为它的存在添加了测试,现在我正在尝试测试该文件是一个有效的类文件。

我试过

但我真的不知道如何将创建文件的路径动态添加到类路径中。

编辑

加载的 URL 类完成了这项工作。

这就是我的测试现在的样子。

0 投票
2 回答
1365 浏览

unit-testing - 将数组数组放入弹簧上下文中

我刚刚找到了一个使用 Spring 提供其数据源的 TestNG 测试用例。因此,代码非常干净简洁。

但是,我需要扩展测试用例,以便它们可以采用可变的输入列表。

正如我在下面尝试的那样,我是否坚持使用 bean 引用作为列表列表?有没有办法做到这一点并且仍然很漂亮(即不破坏输入后输出的逻辑流程)?有没有更好的办法?

请注意,原始代码似乎使用映射而不是列表,因为它似乎是提供 String[2] 列表的更简单方法。

0 投票
1 回答
4387 浏览

selenium - TestNG + Selenium 的问题。noClassDef 错误,基于 TestNG 的硒测试

我已经在线关注了很多指南和论坛帖子,但没有任何运气让它在 TestNG 中工作。这是一个基于硒网格的测试,在 Eclipse 中编程。遇到了麻烦,所以使用了这个论坛帖子建议中列出的库:http: //clearspace.openqa.org/message/66867

我正在尝试在 eclipse (org.testng.eclipse) 的 testNG 测试插件中运行该套件。还尝试通过 selenium 网格从命令行运行 jar,但无济于事。

由于我不是 Java 开发人员,老实说,我不完全确定要寻找什么。多亏了处理环境,我对 Java 有了一定的了解,但是我已经为这项任务投入了 java/eclipse 并且有点不知所措。无论如何,任何帮助表示赞赏,并提前感谢您。

这是我的代码:

套件.java:

实际测试用例

和 SeleneseTestNGHelper 类

0 投票
1 回答
1215 浏览

java - 如何测试 org.jboss.seam.postInitialization 的观察者是否正常工作

我创建了 SEAM 组件,它检查是否存在至少一个具有全局管理员权限的用户,如果不存在则创建一个。

现在我需要测试该安装程序是否正常工作。我需要检查 isInstalled() 返回 true 并检查数据库中是否存在正确的用户和角色。但是 SeamT​​est.ComponentTest.testComponents() 在我的安装完成之前正在运行。我可以在日志中看到安装程序的最后一条消息出现在第二次测试执行的中间,因此我的测试随机失败。

我正在尝试通过以下方式测试我的安装程序:

安装完成后如何开始测试?

我是 SEAM 的新手,所以也许我做错了。请告诉我是否有更好的方法。

0 投票
1 回答
1531 浏览

testng - TestNG + Selenium Grid,只运行一个 RC,

我正在使用 Selenium Grid 和 TestNG 来测试网站。我从 Selenium IDE 导出的测试代码运行良好。我的问题是,测试是按顺序运行的,而不是并行运行的。

这是代码:

我的 testng.xml 看起来像这样:

套件线程计数=“5”skipfailedinvocationCounts=“假”详细=“1”名称=“命令行套件”junit=“假”并行=“方法”注释=“JDK”

我究竟做错了什么?该测试仅在一个 Selenium RC 上运行,尽管启动了多个。

我希望有人可以帮助我,这真的很重要。

谢谢!

0 投票
2 回答
1590 浏览

java - @AfterMethod 和 ITestListener#onFailure 的 TestNG 调用序列

如果测试失败,有人知道首先调用什么吗?