无法使用 Gradle 运行 TestNG

2024-03-25

我有一个使用 TestNG 运行的简单代码,但我无法使用 Gradle 运行相同的代码,因为它说找不到 main 方法,这并不奇怪,因为我使用的是注释。

但在这样的场景下,如果我必须使用Gradle,如何运行代码。

请注意,我对 Gradle 还很陌生,对此并没有太多了解。

Code:

import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class tryTestNG
{
    @BeforeClass
    public void setup()
    {
        System.out.println("I am in Setup");
    }

    @Test
    public void test()
    {
        System.out.println("I am in Test");
    }

    @AfterClass
    public void tearDown()
    {
        System.out.println("I am in tearDown");
    }
}

上面的代码与 TestNG 库完美运行。但 Gradle 则不然。

这是我的 Gradle 构建设置:

apply plugin: 'java'
apply plugin: 'application'

mainClassName = 'tryTestNG'
sourceCompatibility = 1.7
targetCompatibility = 1.7
version = '1.0'

repositories {
    mavenCentral()
}

test {
    useTestNG()
}


dependencies {
    compile group: 'org.testng', name: 'testng', version: '6.9.10'        
}

Gradle 返回没有 Main 方法。

Working Directory: /home/avirup/MyWorkspace/JavaWorkspace/TestNGGradle
Gradle User Home: /home/avirup/.gradle
Gradle Distribution: Gradle wrapper from target build
Gradle Version: 2.9
Java Home: /usr/lib/jvm/java-8-oracle
JVM Arguments: None
Program Arguments: None
Gradle Tasks: run

:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:runError: Main method not found in class tryTestNG, please define the main method as:
   public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':run'.
> Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 0.514 secs

感谢您的帮助。


没有必要使用application运行测试的插件。

The build.gradle应该:

apply plugin: 'java'

sourceCompatibility = 1.7
targetCompatibility = 1.7
version = '1.0'

repositories {
    mavenCentral()
}

test {
    useTestNG()
}


dependencies {
    compile group: 'org.testng', name: 'testng', version: '6.9.10'
}

和命令:gradle test。另外,放tryTestNG under src/test/java并用大写字母命名。

这里有一个demo https://github.com/Opalo/stackoverflow/tree/master/39305052.

还介意的是println测试语句在控制台中不可见。要查看它们,请导航至测试报告。它位于:<project_dir>/build/reports/tests/index.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 Gradle 运行 TestNG 的相关文章

随机推荐

  • Android - CardView 背景始终为灰色

    我正在尝试以编程方式更改 CardView 颜色 这是我的卡片视图
  • Silverlight - 绑定使用 https 的图像

    我存储了一个图像 可以使用 http 和 https 在浏览器中查看该图像 然而 当我将这些 url 绑定到我的图像源时 我只能看到使用 http 的 URL silverlight 有什么办法支持 https 图像吗 似乎是Silverl
  • FSharp.Data Csv.Load() 失败,仅支持 Web 位置

    我有以下代码 r packages FSharp Data 2 0 9 lib portable net40 sl5 wp8 win8 FSharp Data dll open FSharp Data let trainData CsvFi
  • Go 之旅练习#10:爬虫

    我正在经历 Go Tour 我觉得除了并发之外 我对这门语言有了很好的理解 slide 10 https tour golang org concurrency 10是一个要求读者并行化网络爬虫的练习 并使其不覆盖重复 但我还没有做到这一点
  • Keras:如何将学习率输出到张量板上

    我添加了一个回调来衰减学习率 keras callbacks ReduceLROnPlateau monitor val loss factor 0 5 patience 100 verbose 0 mode auto epsilon 0
  • Sonata 管理仪表板:配置每个实体的操作

    我正在使用SonataAdminBundle作为 Symfony2 v2 0 x 支持的网站管理界面的基础 默认情况下 添加到 SonataAdmin 仪表板的实体具有以下操作 add list 这对于大多数实体来说效果很好 但是该网站有一
  • 如何禁用文本区域的可调整大小属性?

    我想禁用 a 的可调整大小属性textarea 目前 我可以调整大小textarea通过单击右下角textarea并拖动鼠标 我怎样才能禁用这个功能 以下 CSS 规则禁用调整大小行为textarea http www w3 org wik
  • elm:读取文件内容

    有没有办法读取文件elm 我想要一个xml设置文件 我将在其中保留不同的设置并用 elm 读取它 我已经看过这个parser https github com toburger elm xml parser 但它期望xml内容 而不是路径
  • 解决方案构建顺序的保存位置

    我有一个包含多个项目 csproj 和 btproj 的解决方案 我实际上正在运行 BizTalk 2013 R2 因此我在 Visual Studio 2013 下进行开发 我有许多 powershell 脚本来部署我的应用程序 我必须增
  • 查找包含任意坐标列表的 voronoi 区域

    我正在使用一种算法 对于每次迭代 都需要找到一组任意坐标属于 Voronoi 图的哪个区域 即每个坐标位于哪个区域内 我们可以假设所有坐标都属于一个区域 如果这有什么区别的话 我还没有任何可以在 Python 中运行的代码 但伪代码如下所示
  • 将 OS National Grid 名称/代码添加到 R 中的网格

    我希望重新创建完整的地形测量国家网格 如此处所示https upload wikimedia org wikipedia commons f f5 Ordnance Survey National Grid svg https upload
  • 如何将工作表保存到新工作簿?

    我正在尝试将单个工作表保存到新工作簿 VBA 应该创建一个新工作簿 代码正在运行 新工作簿会弹出 其中包含所需的数据 并且 另存为 对话框窗口也会打开 但是当我选择名称并保存文件时 找不到新工作簿保持打开状态 Book1 或无论自动填充什么
  • 如何在Python中的recv之前找出socket中有多少字节?

    我有一个处理数据流的 TCP 它一次需要 4096 个字节 但我需要一种方法在接收之前找出整个套接字的大小 这样我就可以确定在切换套接字之前套接字将被读取多少次 它还会通知这是该套接字的最后一次接收 以便我可以在选择切换到另一个套接字 当它
  • SSL 启用:Windows 7 中的 Tomcat [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 当我尝试在 Windows 7 中启用 SSL 编辑 server xml 以启用端口 8443 作为 HTTPS 时 它没有被启用 有时它会显示 连
  • 列出两个日期之间的天数数组

    我想列出两个日期之间的一系列天数 我可以使用下面的代码列出一系列月份 我如何更改它以显示两个日期之间的每一天 require date date from Date parse 2011 05 14 date to Date parse 2
  • 自定义视图引擎中的 ASP.NET MVC 自定义属性

    假设我写了一个自定义属性 public class SpecialActionFilterAttribute System Web Mvc ActionFilterAttribute public override void OnActio
  • 如何将 grep 的输出通过管道传输到 cp?

    我有一个工作grep选择满足特定条件的文件的命令 我怎样才能从grep命令并将其通过管道传输到cp命令 以下尝试都失败了cp end grep r TWL exclude csv cp data lidar tmp ajp2 cp 之后缺少
  • 用于 SSO 的 PHP + ADFS(通过 OAuth) - 如何设置 ADFS?

    我正在尝试使用ADFS for SSO在一个项目上 该项目正在进行中PHP我正在尝试使用OAuth为了这 那么设置 ADFS 以与 OAuth2 配合使用的步骤是什么 我对 ADFS 一无所知 也无法在那里获得有关 OAuth2 设置的任何
  • 使用 -static-libgcc 和 -static-libstdc++ 编译 libconfig++

    我正在尝试编译库配置 http www hyperrealm com libconfig 版本 1 4 8 与 make LDFLAGS static libstdc static libgcc 但这似乎不起作用 因为我仍然得到 reade
  • 无法使用 Gradle 运行 TestNG

    我有一个使用 TestNG 运行的简单代码 但我无法使用 Gradle 运行相同的代码 因为它说找不到 main 方法 这并不奇怪 因为我使用的是注释 但在这样的场景下 如果我必须使用Gradle 如何运行代码 请注意 我对 Gradle