Kotlin Spec 1.1.x 사용법
ぃ tp // m / 1000 / ms / 9f7148505895fd1d6760
그런데, 당시의 Spek는 아직, 버전 1.0에도 도달하지 않은 상태로, 지금 다시 사용해 보려고 하면(자), 이 기사와 같이는 가지 않게 되어 있었으므로, 다시 메모를 남겨두기로 합니다.
환경
$ ./mvnw -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T01:41:47+09:00)
Maven home: /Users/yo1000/.m2/wrapper/dists/apache-maven-3.3.9-bin/2609u9g41na2l7ogackmif6fj2/apache-maven-3.3.9
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.4", arch: "x86_64", family: "mac"
$ cat pom.xml | grep '<kotlin.version>'
<kotlin.version>1.1.2-2</kotlin.version>
$ cat pom.xml | grep '<spek.version>'
<spek.version>1.1.1</spek.version>
종속성
pom.xml
의 기술만 신경 쓰면, 나머지는 특히 문제가 되지 않으므로, 거의 여기만으로 이 기사는 끝나 버린다.
pom.xml<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 中略 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<java.version>1.6</java.version>
<kotlin.version>1.1.2-2</kotlin.version>
<spek.version>1.1.1</spek.version>
<junit.platform.version>1.0.0-M4</junit.platform.version>
</properties>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
</dependency>
<!-- Testing -->
<dependency>
<groupId>org.jetbrains.spek</groupId>
<artifactId>spek-api</artifactId>
<version>${spek.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.spek</groupId>
<artifactId>spek-junit-platform-engine</artifactId>
<version>${spek.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>${junit.platform.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
<plugins>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-allopen</artifactId>
<version>${kotlin.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>${junit.platform.version}</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>**/Test*.java</include>
<include>**/*Test.java</include>
<include>**/*Tests.java</include>
<include>**/*TestCase.java</include>
<include>**/Spec*.java</include>
<include>**/*Spec.java</include>
<include>**/*Specs.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</project>
이상과 같은 상태로, 의존 관계에 이하를,
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 中略 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<java.version>1.6</java.version>
<kotlin.version>1.1.2-2</kotlin.version>
<spek.version>1.1.1</spek.version>
<junit.platform.version>1.0.0-M4</junit.platform.version>
</properties>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
</dependency>
<!-- Testing -->
<dependency>
<groupId>org.jetbrains.spek</groupId>
<artifactId>spek-api</artifactId>
<version>${spek.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.spek</groupId>
<artifactId>spek-junit-platform-engine</artifactId>
<version>${spek.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>${junit.platform.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
<plugins>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-allopen</artifactId>
<version>${kotlin.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>${junit.platform.version}</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>**/Test*.java</include>
<include>**/*Test.java</include>
<include>**/*Tests.java</include>
<include>**/*TestCase.java</include>
<include>**/Spec*.java</include>
<include>**/*Spec.java</include>
<include>**/*Specs.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</project>
maven-surefire-plugin
의 종속성에 다음을 추가해야 한다.테스트 코드
테스트 코드를 작성하는 방법은 이전과 거의 변경되지 않았습니다.
이하, 간단한 예를 열거한다.
ExampleSpec.ktimport org.jetbrains.spek.api.Spek
import org.jetbrains.spek.api.dsl.given
import org.jetbrains.spek.api.dsl.it
import org.jetbrains.spek.api.dsl.on
import org.junit.Assert
object StringBuilderSpec : Spek({
given("builder") {
val builder = StringBuilder("Foo")
on("append") {
builder.append("Bar")
it("should return the result of appending the arg") {
Assert.assertEquals("FooBar", builder.toString())
}
}
}
})
테스트 실행
테스트 실행에는 Maven이나 Gradle에서 실행하는 방법과 IntelliJ IDEA를 사용하는 경우 IDE에서 실행하는 방법의 두 가지가 있습니다.
Maven에서 테스트 실행
평소대로 하면 된다.
$ ./mvnw clean test -U
..
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running StringBuilderSpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in StringBuilderSpec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.922 s
[INFO] Finished at: 2017-05-05T11:58:49+09:00
[INFO] Final Memory: 40M/635M
[INFO] ------------------------------------------------------------------------
IntelliJ IDEA에서 테스트 실행
Spek Plugin을 설치하면 Run/Debug Configurations에서 Spek을 선택할 수 있습니다. 설치, 구성은 다음과 같이.
import org.jetbrains.spek.api.Spek
import org.jetbrains.spek.api.dsl.given
import org.jetbrains.spek.api.dsl.it
import org.jetbrains.spek.api.dsl.on
import org.junit.Assert
object StringBuilderSpec : Spek({
given("builder") {
val builder = StringBuilder("Foo")
on("append") {
builder.append("Bar")
it("should return the result of appending the arg") {
Assert.assertEquals("FooBar", builder.toString())
}
}
}
})
테스트 실행에는 Maven이나 Gradle에서 실행하는 방법과 IntelliJ IDEA를 사용하는 경우 IDE에서 실행하는 방법의 두 가지가 있습니다.
Maven에서 테스트 실행
평소대로 하면 된다.
$ ./mvnw clean test -U
..
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running StringBuilderSpec
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in StringBuilderSpec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.922 s
[INFO] Finished at: 2017-05-05T11:58:49+09:00
[INFO] Final Memory: 40M/635M
[INFO] ------------------------------------------------------------------------
IntelliJ IDEA에서 테스트 실행
Spek Plugin을 설치하면 Run/Debug Configurations에서 Spek을 선택할 수 있습니다. 설치, 구성은 다음과 같이.
Spek
를 찾아서 설치하고 IntelliJ IDEA를 다시 시작합니다Spek
를 선택 참고
htp : // spe kf 라메를 rk. 오 rg / cs / st /
htps : // 기주 b. 코 m / 지 tB 라이언 s / s pek / 이스 s / 195
Reference
이 문제에 관하여(Kotlin Spec 1.1.x 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yo1000/items/0132762539118a58056b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Kotlin Spec 1.1.x 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yo1000/items/0132762539118a58056b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)