从外部库中排除单元测试

时间:2020-02-18 15:35:23

标签: android gradle bouncycastle

在一个Android项目中,我用bouncyCastle新取代了spongyCastle:

implementation "org.bouncycastle:bcpkix-jdk15on:$project.bouncyCastleVersion"

从那时起,在詹金斯(我们的CI)上,似乎正在从该库执行测试,这是真的吗?我从未见过带有自动执行的单元测试的外部库。现在的问题是,我看到许多失败的测试,例如:

org.bouncycastle.pqc.crypto.qtesla.QTeslaKeyEncodingTests.testDecodeEncodePrivateKeyQT3P    27 ms   1
 org.bouncycastle.pqc.crypto.qtesla.QTeslaKeyEncodingTests.testDecodeEncodePublicKeyQT3P

是否有办法从gradle的导入库中排除所有单元tets?

3 个答案:

答案 0 :(得分:1)

要排除任何单元测试,可以在 build.gradle 中使用:

android {
  testOptions {
    unitTests {
      all {
        //exclude '**/QTeslaKeyEncodingTests.*'
        exclude 'org.bouncycastle/**'
      }
    }
  }
}

答案 1 :(得分:0)

尝试将您的测试命令更改为此:

./gradlew --stacktrace testDebug --tests=your.package.name createDebugCoverageReport mergeAndroidReports --continue || true

答案 2 :(得分:-1)

idk,如果有帮助,但是我的CI与海绵城堡有关。我通过忽略棉绒包装解决了它们。 在app.gradle中,添加:

  lintOptions {
    lintConfig file("lint.xml")
  }

lint.xml

<lint>
  <issue id="InvalidPackage">
    <!-- ignore Invalid Package check for spongycastle -->
    <ignore path="**/*spongycastle*.jar"/>
  </issue>
</lint>

我的问题是棉绒,但您也可以忽略它进行测试。

相关问题