2

经过一些修改以进行测试配置

test {
    scanForTestClasses = false
    include '**/*Test.class'
    include 'lt/inventi/apollo/scenarios/**'
}

我的测试开始因错误而失败,java.lang.Exception: Test class should have exactly one public constructor 所以我的解决方法是这样的

test {
    scanForTestClasses = false
    include '**/*Test.class'
    include 'lt/inventi/apollo/scenarios/**'
    exclude '**/*$*' //fixed 
} 

这是正确的方法吗?

4

2 回答 2

4

关闭测试类扫描后,您有责任过滤掉所有非测试类。如果你不能比 更具体scenarios/**,你将不得不用排除来补偿(就像你已经做的那样)。

请注意,将测试类扫描与包含/排除过滤器一起使用是非常好的。

于 2013-07-04T18:06:27.460 回答
0

我在 Mac 上专门遇到了这个问题,发现了 2 个问题:

  • 在 4.7 之前的 Gradle 版本上存在错误#4544,导致内部类被拾取

  • 我碰巧使用的 mac JVM(Zulu 1.8,通过SDKMan安装)在命名空间大写时出现问题(相关文件夹也是如此)。这对于 ubuntu 中的 Zulu 1.8 来说很好,但小写文件夹似乎可以解决问题

于 2019-01-24T11:02:52.237 回答