从外部库中排除单元测试
Excluding unit tests from external library
我在一个 Android 项目中用 bouncyCastle 新替换了 spongyCastle:
implementation "org.bouncycastle:bcpkix-jdk15on:$project.bouncyCastleVersion"
从那时起,在 Jenkins(我们的 CI)上似乎有从这个库执行的测试,这是真的吗?我从未见过自动执行单元测试的外部库。现在的问题是我看到很多失败的测试,例如:
org.bouncycastle.pqc.crypto.qtesla.QTeslaKeyEncodingTests.testDecodeEncodePrivateKeyQT3P 27 ms 1
org.bouncycastle.pqc.crypto.qtesla.QTeslaKeyEncodingTests.testDecodeEncodePublicKeyQT3P
有没有办法从 gradle 中的导入库中排除所有单元 tets?
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>
我的问题是 linting,但您也可以忽略它进行测试。
尝试将您的测试命令更改为:
./gradlew --stacktrace testDebug --tests=your.package.name createDebugCoverageReport mergeAndroidReports --continue || true
排除任何单元测试可以在build.gradle中使用:
android {
testOptions {
unitTests {
all {
//exclude '**/QTeslaKeyEncodingTests.*'
exclude 'org.bouncycastle/**'
}
}
}
}
我在一个 Android 项目中用 bouncyCastle 新替换了 spongyCastle:
implementation "org.bouncycastle:bcpkix-jdk15on:$project.bouncyCastleVersion"
从那时起,在 Jenkins(我们的 CI)上似乎有从这个库执行的测试,这是真的吗?我从未见过自动执行单元测试的外部库。现在的问题是我看到很多失败的测试,例如:
org.bouncycastle.pqc.crypto.qtesla.QTeslaKeyEncodingTests.testDecodeEncodePrivateKeyQT3P 27 ms 1
org.bouncycastle.pqc.crypto.qtesla.QTeslaKeyEncodingTests.testDecodeEncodePublicKeyQT3P
有没有办法从 gradle 中的导入库中排除所有单元 tets?
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>
我的问题是 linting,但您也可以忽略它进行测试。
尝试将您的测试命令更改为:
./gradlew --stacktrace testDebug --tests=your.package.name createDebugCoverageReport mergeAndroidReports --continue || true
排除任何单元测试可以在build.gradle中使用:
android {
testOptions {
unitTests {
all {
//exclude '**/QTeslaKeyEncodingTests.*'
exclude 'org.bouncycastle/**'
}
}
}
}