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

unit-testing - 如何使用 maven-surefire-plugin 在同一个项目中执行 JUnit 和 TestNG 测试?

现在我有两种类型的测试但是当我说“mvn test”时它只执行TestNG测试而不是Junit。我想一个接一个地执行。任何的想法 ?

0 投票
5 回答
38236 浏览

java - 基于 JPA 的 JUnit 测试最佳实践

这是一个有点奇怪的问题,但它已经困扰了我几个月了。我已经使用 Wicket + Hibernate(使用 Maven 构建)构建了一个基于 JPA 的 Web 应用程序,并且想直接测试 DAO 层。我创建了一个用于测试的特定 src/test/resources/META-INF/persistence.xml 文件,但一直与 WTP 等发生冲突。为了解决这些问题,我创建了一个单独的测试项目,单元测试位于其中。有没有更好的方法来管理 JPA 项目的单元测试,而无需在持久性文件之间进行决斗?

附录:其他测试框架(例如,TestNG)会让这更容易吗?

0 投票
3 回答
3262 浏览

java - Junit4 和 TestNG 在一个项目中使用 Maven

要一起运行它们,可用的选项很少,但我选择为 Junit 和 TestNG 使用不同的配置文件。但是现在的问题是排除和包含测试用例。

因为如果我们将 testNG 依赖添加到 maven 中的主项目,它将跳过所有 Junit,我决定将它放在单独的配置文件中。因此,我使用 pom.xml 中的以下条目将默认(主)配置文件中的 TestNG 测试排除在编译之外:

和surefire插件一样。所以它适用于主配置文件并且只执行 Junit4 测试。但是当我使用 testNG 配置文件时,即使它不会编译它们,它也不会执行 testNG 测试。我正在使用以下配置文件来执行它们。

有人知道为什么不包括它们并再次编译吗?

0 投票
1 回答
1092 浏览

batch-file - 如何更改 TestNG dataProvider 顺序

我正在针对大型发布系统运行数百个测试,并希望使用 TestNG 并行化测试。但是,我找不到任何简单的方法来做到这一点。每个测试用例实例化此发布者的一个实例,发送一些消息,等待这些消息发布,然后转储发布队列的内容并与预期结果进行比较。通过如此多的测试来做到这一点(即使我使用线程并行化,仍然需要很长时间才能完成(1 天或更长时间))。

我们发现在测试这种系统时,最好启动一次系统,运行所有测试以发送它们的消息,等待发布完成它的事情,转储所有输出,并将输出与测试和验证匹配。例如,而不是以下内容:

我们想做如下的事情:

你有一个 dataProvider 运行所有测试,sendMode = true然后执行,然后dumpAllRules()再次运行所有测试sendMode = false。问题是,TestNG 两次调用相同的方法,一次sendMode = truesendMode = false. 无论如何在TestNG中完成这个?

谢谢!

0 投票
7 回答
8807 浏览

junit - 如何使用 selenium(junit 或 testng)创建结构化的自动测试?您对此的最佳做法是什么?

我已经编写了使用 selenium 进行功能测试的测试。我正在使用 Java。我希望能够在测试之间创建结构。是否可以使用 jUnit 或 TestNG 来完成?

希望能够创建将产生如下报告的测试结构:

0 投票
3 回答
1470 浏览

selenium - 如何从测试中识别运行我的测试的 Selenium Grid 主机?

我正在使用 Selenium Grid 和 TestNG 来并行运行我的测试。我有某些需要用户登录的测试,所以我配置了一个用于测试的用户帐户。

我一直小心翼翼地确保任何涉及以我的测试用户身份登录的测试都在单独的虚拟机上运行,​​以便会话不会中断,但是在调查了一些经常失败的测试之后,事实证明这还不够。因此,我要么需要:

  • 为每个测试设置一个新用户(我知道这可能是理想的解决方案,但配置/运行需要一些时间。

  • 拥有多个测试用户帐户,并确保一次只使用一个。

如果我可以识别运行测试的机器的主机,我可以相应地设置测试帐户。有什么办法可以做到这一点,还是有其他我没有想到的解决方案?

0 投票
3 回答
19606 浏览

java - 为什么 Maven 因 SurefireExecutionException 失败:> 无法设置与值并行的选项

嗨,我正在使用 Windows XP 和最新版本完成本教程

http://binil.wordpress.com/2006/12/08/automated-smoke-tests-with-selenium-cargo-testng-and-maven/

有人可以告诉我标签是什么。

当我使用包含这些标签进行构建时,我遇到了失败:

0 投票
1 回答
422 浏览

java - Java 单元测试覆盖率数字不匹配

下面是我在使用 Java Google App Engine 构建的 Web 应用程序中编写的一个类。我已经使用 TestNG 编写了单元测试并且所有测试都通过了。然后我在 Eclipse 中运行 EclEmma 以查看我的代码的测试覆盖率。所有函数都显示 100% 的覆盖率,但整个文件显示大约 27% 的覆盖率。73% 的未发现代码来自哪里?

谁能帮助我了解 EclEmma 的工作原理以及为什么我会出现数字差异?

下面是上述类的测试代码。

0 投票
5 回答
23633 浏览

java - TestNG 和 Spring 3

使用 Spring 进行单元测试的最佳实践方法是什么?我认为 TestNG 和 jmockit 与 Spring 3 的组合还不错,所以这就是我现在正在做的事情,但是如果我不在为我的新 Spring 项目选择工具,请马上告诉我。:-)

无论如何,我已经创建了一个我想要测试的实体,但我不确定如何从 Spring 上下文中实际运行 TestNG。我创建了一个简单的测试类

使用 applicationContext.xml 导入 bean 来设置模型和业务层。首先,我希望它使用来自 Project/WebRoot/WEB-INF 的 applicationContext.xml,而此测试的源位于 Project/src/com/mydomain/data/entities/test 中,但我相信/applicationContext.xml 会给我 Projects/src,与类路径相同:这是正确的吗?

此外,既然我正在使用我的 Web 应用程序将使用的模型和业务层,我应该期望它的行为类似。但是,当我在测试中启动 TestNG 时,它说:类 org.hibernate.cfg.ExtendedMappings 具有接口 org.hibernate.cfg.Mappings 作为超类:

这是什么,为什么我会得到这个?有什么线索吗?

我的 sessionFactory 看起来像这样

0 投票
2 回答
2382 浏览

java - 使用 TestNG 对 Spring 中使用的 Hibernate 实体类进行单元测试时出现 LazyInitializationException

在我的 Spring 配置中,我要求会话应在我的视图中保持打开状态:

然而,这个 bean 显然没有将我的 TestNG 单元测试视为一个视图。;-) 没关系,但是是否有用于单元测试的类似 bean,以便我在单元测试时避免可怕的 LazyInitializationException?到目前为止,我有一半的单元测试因此而死。

我的单元测试通常如下所示:

我尝试将 setUp() 更改为:

但我相信这是错误的做法,我把交易搞砸了,以备日后测试。有没有像 OpenSessionInTestInterceptor 这样的东西,有没有更好的方法来做到这一点,或者这是这样做的方式,在这种情况下我误解了什么?

干杯

尼克