java - 如何将 TestNG 与 Java Play 2.4.x 一起使用?

标签 java playframework testng

我想在我的 Java Play 项目中使用 TestNG 而不是 JUnit 进行测试(它具有更强大的功能)。然而,似乎没有任何关于如何执行此操作的文档,因为与 Scala 相比,Play 似乎将 Java 视为二等公民。有谁知道如何配置 Java Play 项目以使用 TestNG?

最佳答案

  1. 将以下依赖项添加到您的 build.sbt 中:
    libraryDependencies ++= Seq(
      ...
      "org.testng" % "testng" % "6.8.8",
      "de.johoop" % "sbt-testng-interface_2.10" % "3.0.0",
      "org.scalatest" %% "scalatest" % "2.2.1",
      "org.scalatestplus" %% "play" % "1.4.0-M4"
    )
    
  2. 将以下依赖项添加到您的 plugins.sbt(在“项目 [root-build]”中):

    addSbtPlugin("de.johoop" % "sbt-testng-plugin" % "3.0.2")
  3. 将“测试”目录类重构为包结构的一部分。例如:

    test
    --- com.test.integration
    ------ IntegrationTest.java
    --- com.test.unit
    ------ UnitTest.java
    
  4. 通过非常基本的测试将新的测试文件(例如:ExampleIntegrationTest.java)添加到您的测试包(“单元”或“集成”)之一中。它应该扩展“TestNGSuite”类(Scalatest 模块的一部分)。

    public class ExampleIntegrationTest extends TestNGSuite {
        @Test
        public void test() {
            Assert.assertTrue(true);
        }
    }
    
  5. 在终端/控制台中,导航到项目目录并运行以下命令:

    activator clean compile
  6. 一切编译完毕后,运行:

    activator test

如果一切顺利,您应该会看到执行了 1 个成功的测试。

关于java - 如何将 TestNG 与 Java Play 2.4.x 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34822007/

相关文章:

java - JMS CachingConnectionFactory onException 方法永远不会在 JMSException 上调用

java - 如何在数据库中存储自动从1开始并使用java中的注释递增的值?

scala - Play Framework 2.0。升级骨骼cp

java - 找不到记录器的附加程序(selenium webdriver+testng)

java - 父子项目maven

java - 字节数组到图像对象

java - IntelliJ IDEA新建项目时自动创建的文件和文件夹是什么

playframework - 创建一个 Play Enumeratee 将相似元素分组到具有最大大小的列表中

java - 如何通过JAVA Reflection处理一个注解的所有特征

java - Junit 测试控制台中的输出