Skip to content

Commit 0c09c66

Browse files
committed
Gradle执行单一的单元测试
1 parent d4f476d commit 0c09c66

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

Gradle_Test/README.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,87 @@
7272

7373
Total time: 11.404 secs
7474

75+
4.注意,现在只有一个测试类被执行,Gradle将会使用查询以`**/<Java system property value=Sample>*`模式的类中查询出测试方法,因此我们不必要写该测试类的全类名,为了只执行AnotherSampleTest测试类我们也是如此:
76+
77+
$ gradle -Dtest.single=AnotherSample test
78+
:compileJava UP-TO-DATE
79+
:processResources UP-TO-DATE
80+
:classes UP-TO-DATE
81+
:compileTestJava
82+
:processTestResources UP-TO-DATE
83+
:testClasses UP-TO-DATE
84+
:test
85+
86+
com.mrhaki.gradle.AnotherSampleTest > anotherSample STARTED
87+
88+
com.mrhaki.gradle.AnotherSampleTest > anotherSample PASSED
89+
90+
BUILD SUCCESSFUL
91+
92+
Total time: 5.62 secs
93+
94+
5.我们也可以使用Java系统属性的模式来匹配多个测试类来一次性执行多个测试方法,。例如,我们可以使用`*Sample`来一次性执行SampleTest和AnotherSampleTest类的单元测试。
95+
96+
$ gradle -Dtest.single=*Sample test
97+
:compileJava UP-TO-DATE
98+
:processResources UP-TO-DATE
99+
:classes UP-TO-DATE
100+
:compileTestJava
101+
:processTestResources UP-TO-DATE
102+
:testClasses UP-TO-DATE
103+
:test
104+
105+
com.mrhaki.gradle.AnotherSampleTest > anotherSample STARTED
106+
107+
com.mrhaki.gradle.AnotherSampleTest > anotherSample PASSED
108+
109+
com.mrhaki.gradle.SampleTest > sample STARTED
110+
111+
com.mrhaki.gradle.SampleTest > sample PASSED
112+
113+
BUILD SUCCESSFUL
114+
115+
Total time: 5.605 secs
116+
117+
6.为了证明Java的系统属性同样对其他测试类型起作用,我们在buile.gradle配置文件中加入了新的task,我们把它叫做sampleTest并且包含了我们的测试文件,我们同样的使用了testLogging方便看测试结果在控制台的输出
118+
119+
// File: build.gradle
120+
apply plugin: 'java'
121+
122+
repositories {
123+
mavenCentral()
124+
}
125+
126+
dependencies {
127+
testCompile 'junit:junit:[4,)'
128+
}
129+
130+
task sampleTest(type: Test, dependsOn: testClasses) {
131+
include '**/*Sample*'
132+
}
133+
134+
tasks.withType(Test) {
135+
testLogging {
136+
events 'started', 'passed'
137+
}
138+
}
139+
140+
7.下一步我们想运行SampleTest类的单元测试,现在我们可以使用`-DsampleTest.single=S*`来作为运行参数
141+
142+
$ gradle -DsampleTest.single=S* sampleTest
143+
:compileJava UP-TO-DATE
144+
:processResources UP-TO-DATE
145+
:classes UP-TO-DATE
146+
:compileTestJava UP-TO-DATE
147+
:processTestResources UP-TO-DATE
148+
:testClasses UP-TO-DATE
149+
:sampleTest
150+
151+
com.mrhaki.gradle.SampleTest > sample STARTED
152+
153+
com.mrhaki.gradle.SampleTest > sample PASSED
154+
155+
BUILD SUCCESSFUL
156+
157+
Total time: 10.677 secs
158+
Code written with Gradle 1.6

0 commit comments

Comments
 (0)