代码之家  ›  专栏  ›  技术社区  ›  nyarian

在buildSrc目录中运行测试用例的问题

  •  0
  • nyarian  · 技术社区  · 7 年前

    我有一个定制的Java类,它执行Caesar密码加密,我想对它进行单元测试。但问题是,当我尝试测试它时,IDE显示了一个错误:

    JAVAlang.Throwable:无法确定要执行的渐变任务 在com上。intellij。openapi。诊断的。记录器。错误(Logger.java:126) 在com上。安卓工具。主意格雷德尔。跑DefaultGradleBuilder。build(DefaultGradleBuilder.java:42) 在com上。安卓工具。主意格雷德尔。跑MakeBeforeRunTaskProvider。doExecuteTask(MakeBeforeRunTaskProvider.java:360) 在com上。安卓工具。主意格雷德尔。跑MakeBeforeRunTaskProvider。executeTask(MakeBeforeRunTaskProvider.java:268) 在com上。安卓工具。主意格雷德尔。跑MakeBeforeRunTaskProvider。executeTask(MakeBeforeRunTaskProvider.java:122) 在com上。intellij。处决impl。ExecutionManagerImpl。lambda$compileAndRun$0(ExecutionManagerImpl.java:298) 在com上。intellij。openapi。应用impl。ApplicationImpl$1。运行(ApplicationImpl.java:314) 在爪哇。util。同时发生的遗嘱执行人$runnableapter。调用(Executors.java:511) 在爪哇。util。同时发生的未来任务。运行(FutureTask.java:266) 在爪哇。util。同时发生的线程池执行器。runWorker(ThreadPoolExecutor.java:1142) 在爪哇。util。同时发生的ThreadPoolExecutor$Worker。run(ThreadPoolExecutor.java:617) 在爪哇。朗。丝线。运行(Thread.java:745)

    这是我的 build.gradle 的文件内容 buildSrc 目录:

    plugins {
        id 'java'
    }
    
    sourceSets {
        main {
            groovy {
                srcDir 'src/main/groovy'
            }
            java {
                srcDir 'src/main/java'
            }
        }
        test {
            java {
                srcDir 'src/test/java'
            }
        }
    }
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        implementation localGroovy()
        implementation gradleApi()
        implementation "commons-codec:commons-codec:$codec_version"
        testImplementation "junit:junit:$junit_version"
    }
    

    注意:当我试图使用- Dtest.single=package.* -它找不到类。

    0 回复  |  直到 7 年前
        1
  •  1
  •   Maciej Flak    7 年前

    不幸的是,这里报道的是WONTFIX错误 https://issues.gradle.org/browse/GRADLE-1553

    作为一种解决方法(发布在问题中),您可以使用 --tests 例如:

    # Executes all tests in SomeTestClass
    gradle test --tests SomeTestClass
    
    # Executes a single specified test in SomeTestClass
    gradle test --tests SomeTestClass.someSpecificMethod
    
    gradle test --tests SomeTestClass.*someMethod*
    
    

    记录如下: https://docs.gradle.org/current/userguide/java_testing.html#simple_name_pattern

    推荐文章