@@ -15,4 +15,64 @@ dependencies {
15
15
implementation(" org.springframework.security:spring-security-oauth2-authorization-server" )
16
16
implementation(" org.springframework.security:spring-security-cas" )
17
17
implementation(" org.springframework:spring-jdbc" )
18
+ }
19
+
20
+ sourceSets {
21
+ create(" integrationTest" ) {
22
+ compileClasspath + = sourceSets.main.get().output
23
+ runtimeClasspath + = sourceSets.main.get().output
24
+ }
25
+ }
26
+
27
+ val integrationTestImplementation by configurations.getting {
28
+ extendsFrom(configurations.implementation.get())
29
+ }
30
+ val integrationTestRuntimeOnly by configurations.getting
31
+
32
+ configurations[" integrationTestRuntimeOnly" ].extendsFrom(configurations.runtimeOnly.get())
33
+
34
+ val integrationTest = task<Test >(" integrationTest" ) {
35
+ description = " Runs integration tests."
36
+ group = " verification"
37
+
38
+ testClassesDirs = sourceSets[" integrationTest" ].output.classesDirs
39
+ classpath = sourceSets[" integrationTest" ].runtimeClasspath
40
+ shouldRunAfter(" test" )
41
+
42
+ useJUnitPlatform()
43
+
44
+ testLogging {
45
+ events(" passed" )
46
+ }
47
+
48
+ finalizedBy(" jacocoIntegrationTestReport" )
49
+ }
50
+
51
+ dependencies {
52
+ integrationTestImplementation(platform(" com.codedifferently.studycrm.platform:java-test-platform" ))
53
+ integrationTestImplementation(" org.junit.jupiter:junit-jupiter" )
54
+ integrationTestImplementation(" org.mockito:mockito-core" )
55
+ integrationTestImplementation(" org.springframework.boot:spring-boot-starter-test" )
56
+ integrationTestImplementation(" org.springframework.security:spring-security-test" )
57
+ integrationTestRuntimeOnly(" com.h2database:h2" )
58
+ integrationTestRuntimeOnly(" org.junit.platform:junit-platform-launcher" )
59
+ }
60
+
61
+ tasks.register<JacocoReport >(" jacocoIntegrationTestReport" ) {
62
+ executionData(tasks.named(" integrationTest" ).get())
63
+ sourceSets(sourceSets[" integrationTest" ])
64
+
65
+ reports {
66
+ xml.required.set(true )
67
+ html.required.set(true )
68
+ }
69
+ }
70
+
71
+ tasks.jacocoTestReport {
72
+ dependsOn(" jacocoIntegrationTestReport" )
73
+ }
74
+
75
+ tasks.check {
76
+ dependsOn(integrationTest)
77
+ dependsOn(" jacocoIntegrationTestReport" )
18
78
}
0 commit comments