当前位置: 首页 > 知识库问答 >
问题:

无法使用Gradle运行TestNG

姚正真
2023-03-14

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

但在这种情况下,如果必须使用Gradle,如何运行代码。

请注意,我对Gradle很陌生,对这方面的知识不多。

代码:

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构建设置:

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

谢谢你的帮助。

共有1个答案

西门逸仙
2023-03-14

不需要使用应用程序插件来运行测试。

构建。梯度应为:

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'
}

和命令:gradletest。另外,将tryTestNG放在src/test/java下,并用大写字母命名。

这是一个演示。

还要注意,测试中的println语句在控制台中不可见。要查看它们,请导航到测试报告。它位于:

 类似资料:
  • 我的笔记本电脑上有一个java项目,我正在用Gradle构建它。所有依赖项都在文件系统中,因为我在处理它时大部分时间都是脱机的。反正也不算太多。 查看checkstyle-6.10.1.jar内部,我可以看到没有这样的类,而是有一个叫做的类,我怀疑这是gradle应该调用的类。然而,我不知道如何让gradle调用它。 我唯一的一个怀疑是我的没有正确定义,并且gradle使用某些默认值调用。然而,所

  • 我在Android Studio中构建项目时遇到了一个问题,几周前它还能正常工作,但当我今天试图运行该项目时,它失败了。下面是我得到的错误消息: org.Gradle.tooling.gradleConnectionException:无法使用分级发行版“http://services.Gradle.org/distributions/gradle-1.7-bin.zip”执行生成。:无法使用分级

  • 我试图在Eclipse IDE中创建新的Gradle项目。但我遇到了以下异常:“org.Gradle.tooling.buildexception:无法使用Gradle发行版'https://services.Gradle.org/distributions/gradle-3.5-bin.zip'运行构建操作。” 谁能帮帮我吗? 提前道谢。

  • 问题内容: 我想通过gradle任务运行我的方法 这是我通过cmd运行的方式: 应该如何写成gradle? 更新资料 我努力了 我得到: 我得到一个错误: 但是当我通过Intellij运行时,每个thig都可以正常工作 问题答案: 最简单的方法可能是使用应用程序插件。添加到您的build.gradle并设置。要将参数添加到主类,请修改运行任务并编辑args属性 类路径是从主sourceSet中自动

  • 在我的计算机上升级Gradle安装后,当以VS代码打开现有的Gradle项目时,我开始收到以下错误消息: 无法使用分级分发“https://services.Gradle.org/distributions/gradle-5.5.1-bin.zip”运行生成操作)。 我发现类似的问题随着不同的版本号四处飘荡,例如:无法使用Gradle发行版'https://services.Gradle.org/