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

Gradle:获取一个Groovy测试脚本来使用一个辅助Java类

令狐昌胤
2023-03-14

我正在努力研究如何在测试阶段获得一个Groovy测试脚本来导入Java类。。。

具体来说,我想使用JavaFXThreading规则:。java文件从这里(或者更确切地说,这里,所以包括在我的Java测试源代码路径中),然后导入它在我的Groovy测试脚本中用作注释。

Groovy测试脚本路径是src\test\ft\Groovy\core\testscript。棒极了<这是我的梦想。java文件是src\test\ft\java\core\JavaFXThreadingRule。爪哇
我在两个版本中使用的包装行都是“核心包装”
我的“sourceset”子句在build中。gradle看起来像这样:

sourceSets {
    main {
        java {
            srcDirs = ['src/main/java']
        }
    }

    test {
        java {
            srcDirs = ['src/test/ft/java' ]
        }
        groovy {
            srcDirs = ['src/test/ft/groovy', 'src/test/ut/groovy']
        }
    }
}

有趣的是,它的构造。gradle输出显示,compileTestJava任务在compileTestGroovy任务之前运行。。。然而,我得到了

无法解析类核心。JavaFXThreadingRule@18行,第1列。导入核心。JavaFXThreadingRule^

注意,我还尝试了“导入JavaFXThreadingRule”——同样的结果。

除了想解决这个问题,我还想知道Gradle如何决定执行任务的顺序compileTestJavacompileTestGroovy...以及我是否应该让我的compileTestGroovy显式依赖于compileTestJava...

共有1个答案

计光赫
2023-03-14

多亏了Tim Yates,我找到了将这个Java文件与Groovy文件放在一起的“变通方法”。。。但这个答案给了我另一个线索,然后我改变了我的体型。格拉德尔应该是这样的:

sourceSets {
    main {
        java {
            srcDirs = ['src/main/java']
        }
    }
    test {
        groovy {
            srcDirs = ['src/test/ft/groovy', 'src/test/ut/groovy', 'src/test/ft/java' ]
        }
    }
}

... 作品毫无疑问,这对格拉德尔的老手来说是显而易见的。

上面提到的问题和答案是关于应用程序代码类(和Gradle任务)。除非某个Gradle专家可以这样说,否则我假设Groovy测试编译任务和Java测试编译任务是完全独立的,不能“看到”彼此的类。。。

 类似资料:
  • 我试图在另一个groovy脚本中定义变量,我想在当前脚本中使用它。我有两个这样的脚本: script1.groovy script2.groovy 当我打印ln(state)时,我得到一个缺少的属性异常。基本上,我希望script2具有可以在script1上下文中加载的配置变量。我该怎么做?

  • 问题内容: 我有一个复杂的gradle脚本,该脚本封装了围绕将多个netbeans项目构建和部署到许多环境的功能。 该脚本可以很好地运行,但是从本质上来说,它是通过六个包含项目和环境信息的地图进行配置的。 我想将任务抽象到另一个文件中,以便可以在一个简单的构建文件中简单地定义地图,然后从另一个文件中导入任务。这样,我可以对多个项目使用相同的核心任务,并使用一组简单的地图来配置这些项目。 谁能告诉我

  • 我使用groovy脚本中的方法创建了一个自定义dsl命令链。我从另一个groovy文件访问此命令链时遇到问题。是否有实现功能的方法? 我尝试过使用“evaluate”,它可以加载groovy文件,但无法执行命令链。我尝试过使用GroovyShell类,但无法调用这些方法。 我这里有一个小房间。groovy中执行“please show the cube\u root of 1000”会产生10的结

  • 我正在使用脚本模式(一种groovy脚本)与Katalon Studio创建一个测试用例。我需要那个groovy脚本来执行将位于Katalon项目文件夹中。 出于测试目的,我创建了一个. jar,它创建了一个名为"the-file-name"的文件,并在控制台中打印一条消息。 我找到了在Groovy中执行命令的方法: 这会在Katalon控制台中打印git的版本。所以我猜放上“java-jar t

  • 本文向大家介绍使用Python+selenium实现第一个自动化测试脚本,包括了使用Python+selenium实现第一个自动化测试脚本的使用技巧和注意事项,需要的朋友参考一下 最近在学web自动化,记录一下学习过程。 此处我选用python3.6+selenium3.0,均用最新版本,以适应未来需求。 环境:windows10,64位 一、安装python python官方下载地址:https

  • 我有一些库脚本:lib1。groovy: lib2.groovy: lib3.groovy: 并希望在另一个脚本中使用它们:conf.groovy: conf.groovy是由用户配置的,他不知道我的后台lib脚本!他只知道提供的方法/任务:a()、b()、c()。实际上,我创建lib脚本是为了简化用户。 有没有办法将lib目录中的所有脚本(脚本lib1、lib2m、lib3)都包含到conf.g