gradle运行测试代码_Gradle的好处:运行单个测试
gradle運行測試代碼
我們可以使用Java插件添加的test任務,使用Gradle運行測試代碼。 默認情況下,將執行項目中找到的所有測試。 如果要運行一個測試,可以使用Java系統屬性test.single和測試名稱。 實際上,系統屬性的模式是taskName .single 。 taskName是我們項目中Test類型的任務的名稱。 我們將看到如何在構建中使用它。
首先,我們創建一個簡單的build.gradle文件來運行測試:
接下來,我們創建兩個測試類,每個類都有一個單獨的測試方法,只是為了說明我們以后可以將它們作為單個測試來調用。
// File: src/test/java/com/mrhaki/gradle/SampleTest.java package com.mrhaki.gradle;import static org.junit.Assert.*; import org.junit.*;public class SampleTest {@Test public void sample() {assertEquals("Gradle is gr8", "Gradle is gr8");}}// File: src/test/java/com/mrhaki/gradle/AnotherSampleTest.java package com.mrhaki.gradle;import static org.junit.Assert.*; import org.junit.*;public class AnotherSampleTest {@Test public void anotherSample() {assertEquals("Gradle is great", "Gradle is great");} }要僅運行SampleTest我們必須使用Java系統屬性-Dtest.single=Sample從命令行調用test任務:
$ gradle -Dtest.single=Sample test :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :compileTestJava :processTestResources UP-TO-DATE :testClasses :testcom.mrhaki.gradle.SampleTest > sample STARTEDcom.mrhaki.gradle.SampleTest > sample PASSEDBUILD SUCCESSFULTotal time: 11.404 secs注意,現在僅執行一個測試。 Gradle將獲取值Sample ,并在以下模式中使用它** / <Java系統屬性value = Sample> *。class來查找測試類。 因此,我們不必鍵入單個測試類的完整軟件包和類名。 要僅調用AnotherSampleTest測試類,我們使用Java systme屬性的不同值運行test任務:
$ gradle -Dtest.single=AnotherSample test :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :compileTestJava :processTestResources UP-TO-DATE :testClasses UP-TO-DATE :testcom.mrhaki.gradle.AnotherSampleTest > anotherSample STARTEDcom.mrhaki.gradle.AnotherSampleTest > anotherSample PASSEDBUILD SUCCESSFULTotal time: 5.62 secs我們還可以對Java系統屬性使用一種模式,以運行適用于該模式的多個測試。 例如,我們可以使用* Sample來運行SampleTest和AnotherSampleTest :
$ gradle -Dtest.single=*Sample test :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :compileTestJava :processTestResources UP-TO-DATE :testClasses UP-TO-DATE :testcom.mrhaki.gradle.AnotherSampleTest > anotherSample STARTEDcom.mrhaki.gradle.AnotherSampleTest > anotherSample PASSEDcom.mrhaki.gradle.SampleTest > sample STARTEDcom.mrhaki.gradle.SampleTest > sample PASSEDBUILD SUCCESSFULTotal time: 5.605 secs為了顯示Java系統屬性也適用于Test類型的其他任務,我們在build.gradle文件中添加了一個新任務。 我們將任務命名為sampleTest并包括我們的測試。 現在,我們還將相同的testLogging應用于Test類型的所有任務,以便可以看到輸出。
// File: build.gradle apply plugin: 'java'repositories {mavenCentral() }dependencies {testCompile 'junit:junit:[4,)' }task sampleTest(type: Test, dependsOn: testClasses) {include '**/*Sample*' }tasks.withType(Test) {testLogging {events 'started', 'passed'} }接下來,我們只想運行SampleTest類,但是現在我們使用Java系統屬性-DsampleTest.single=S* :
$ gradle -DsampleTest.single=S* sampleTest :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :compileTestJava UP-TO-DATE :processTestResources UP-TO-DATE :testClasses UP-TO-DATE :sampleTestcom.mrhaki.gradle.SampleTest > sample STARTEDcom.mrhaki.gradle.SampleTest > sample PASSEDBUILD SUCCESSFULTotal time: 10.677 secs 用Gradle 1.6編寫的代碼
翻譯自: https://www.javacodegeeks.com/2013/05/gradle-goodness-running-a-single-test.html
gradle運行測試代碼
總結
以上是生活随笔為你收集整理的gradle运行测试代码_Gradle的好处:运行单个测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蓑衣怎么读 蓑衣的读音
- 下一篇: 抱大腿什么意思 抱大腿的含义