日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Gradle的好处:运行单个测试

發布時間:2023/12/3 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Gradle的好处:运行单个测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們可以使用Java插件添加的test任務,使用Gradle運行測試代碼。 默認情況下,將執行項目中找到的所有測試。 如果要運行單個測試,則可以使用Java系統屬性test.single和測試名稱。 實際上,系統屬性的模式是taskName .single 。 taskName是我們項目中Test類型的任務的名稱。 我們將看到如何在構建中使用它。

首先,我們創建一個簡單的build.gradle文件來運行測試:

// File: build.gradle apply plugin: 'java'repositories {mavenCentral() }dependencies {testCompile 'junit:junit:[4,)' }test {testLogging {// Show that tests are run in the command-line outputevents 'started', 'passed'} }

接下來,我們創建兩個測試類,每個類都有一個單獨的測試方法,只是為了說明我們以后可以將它們作為單個測試來調用。

// 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編寫的代碼

參考: Gradle的好處:在JDriven博客上,由我們的JCG合作伙伴 Hubert Ikkink 運行單個測試 。

翻譯自: https://www.javacodegeeks.com/2013/05/gradle-goodness-running-a-single-test.html

總結

以上是生活随笔為你收集整理的Gradle的好处:运行单个测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。