Skip to content

Commit d4f476d

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

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

Gradle_Test/README.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
###Gradle单元测试
2+
3+
我们可以通过在Gradle添加Java插件来执行单元测试的任务,默认的,在项目中所有的测试都会被执行,如果我们只想测试其中一个类,我们可以使用Java系统属性`test.single`作为测试的名字,事实上,这个系统属性的模式是`taskName.single`,其中`taskName`是我们工程中单元测试类型的名称。以下将会看到我们如何构建单元测试
4+
5+
1.创建Gradle工程,并在build.gradle配置文件中加入:
6+
```Java
7+
8+
// File: build.gradle
9+
apply plugin: 'java'
10+
repositories {
11+
mavenCentral()
12+
}
13+
dependencies {
14+
testCompile 'junit:junit:[4,)'
15+
}
16+
test {
17+
testLogging {
18+
// Show that tests are run in the command-line output
19+
events 'started', 'passed'
20+
}
21+
}
22+
```
23+
2.第二步,我们创建一个测试类,每个测试类一个测试方法,这样子让我们可以在后面单独的调用他们
24+
25+
```Java
26+
27+
// File: src/test/java/com/mrhaki/gradle/SampleTest.java
28+
package com.mrhaki.gradle;
29+
30+
import static org.junit.Assert.*;
31+
import org.junit.*;
32+
33+
public class SampleTest {
34+
35+
@Test public void sample() {
36+
assertEquals("Gradle is gr8", "Gradle is gr8");
37+
}
38+
39+
}
40+
41+
// File: src/test/java/com/mrhaki/gradle/AnotherSampleTest.java
42+
package com.mrhaki.gradle;
43+
44+
import static org.junit.Assert.*;
45+
import org.junit.*;
46+
47+
public class AnotherSampleTest {
48+
49+
@Test public void anotherSample() {
50+
assertEquals("Gradle is great", "Gradle is great");
51+
}
52+
}
53+
54+
```
55+
56+
3.为了只执行SampleTest类中的测试方法,我们必须从命令行中以Java系统属性`-Dtest.single=Sample`来执行单元测试
57+
58+
$ gradle -Dtest.single=Sample test
59+
:compileJava UP-TO-DATE
60+
:processResources UP-TO-DATE
61+
:classes UP-TO-DATE
62+
:compileTestJava
63+
:processTestResources UP-TO-DATE
64+
:testClasses
65+
:test
66+
67+
com.mrhaki.gradle.SampleTest > sample STARTED
68+
69+
com.mrhaki.gradle.SampleTest > sample PASSED
70+
71+
BUILD SUCCESSFUL
72+
73+
Total time: 11.404 secs
74+

0 commit comments

Comments
 (0)