Spock은 Java 및 Groovy 애플리케이션을 위한 BDD 스타일 개발자 테스트 및 사양 프레임워크입니다. Spock에 대해 자세히 알아보려면 https://spockframework.org를 방문하세요. 브라우저에서 샘플 사양을 실행하려면 Groovy 웹 콘솔을 사용하세요.
최신 2.x 릴리스 버전은 2024년 3월 21일에 릴리스된 2.4-M4 (2.4-M4-groovy-2.5, 2.4-M4-groovy-3.0, 2.4-M4-groovy-4.0)입니다.
현재 개발 버전은 2.4-SNAPSHOT (2.4-groovy-2.5-SNAPSHOT, 2.4-groovy-3.0-SNAPSHOT, , 2.4-groovy-4.0-SNAPSHOT)입니다.
참고: Spock 2.x는 JUnit 5 플랫폼을 기반으로 하며 Java 8+/groovy-2.5+가 필요합니다(특히 Java 12+를 사용하는 프로젝트에서는 Groovy 3.0 또는 4.0이 권장됩니다).
릴리스는 Maven Central에서 제공됩니다. 개발 스냅샷은 Sonatype OSS에서 제공됩니다.
중간 수준의 안정적인 빌드에는 Jitpack을 사용하는 것이 좋습니다(지침은 여기로 이동).
https://jitpack.io를 저장소로 추가
org.spockframework.spock
groupId
및 일반 artifact-id
로 사용합니다.
저장소 {// ...maven { url 'https://jitpack.io' } } 의존성 { testImplementation 'org.spockframework.spock:spock-core:spock-2.4-M4'testImplementation 'org.spockframework.spock:spock-spring:spock-2.4-M4'}
중간 릴리스의 경우 커밋 해시를 버전으로 사용할 수도 있습니다(예: com.github.spockframework.spock:spock-core:d91bf785a1
컴파일).
spock-core — 핵심 프레임워크. 이것은 유일한 필수 모듈입니다.
spock-specs — Spock을 사용하여 구현된 spock-core 사양입니다. Spock을 사용하는 데는 필요하지 않습니다.
spock-spring — Spring TestContext 프레임워크와의 통합.
spock-tapestry — Tapestry 5 IoC 컨테이너와 통합됩니다.
spock-guice — Guice 2/3과 통합.
spock-unitils — Unitils와 통합.
Spock에는 JDK 8과 JDK 17+가 모두 설치되어 있어야 합니다.
툴체인을 통해 Spock을 컴파일하려면 JDK 8이 필요합니다(자동 다운로드가 비활성화됨).
Gradle 빌드 자체를 실행하려면 JDK 17 이상이 필요합니다.
JDK 위치는 JDK<version>=<PATH>
환경 변수(예: JDK8=/path/to/jdk8
를 통해 툴체인에 알려야 합니다.
Spock은 Java 버전 8 이상에서 지원됩니다.
Spock은 Groovy 버전 2.5, 3.0 및 4.0에서 지원됩니다.
테스트에서는 Groovy 및 Java의 특정 버전(변형)을 사용하여 Spock을 테스트하고 있습니다. 기본 Groovy 버전은 2.5입니다.
Groovy 3.0 및 4.0 변형은 지원되는 모든 JDK 버전을 전달해야 하며 Groovy 2.5는 Java 17+에서 작동하지 않습니다.
./gradlew 빌드
Spock의 특정 변형을 빌드하려면 변형 이름을 매개변수로 사용하세요.
./gradlew 빌드 -Dvariant=4.0
특정 Java 버전에 대해 테스트하려면 Java 버전 이름을 매개변수로 사용하고 Java 버전에 대한 경로는 환경 변수 JDK<version>=<PATH>
통해 설정해야 합니다. 물론 이는 위의 변형 선택과 결합될 수 있습니다.
./gradlew 빌드 -DjavaVersion=17
(Windows: gradlew build
). 빌드 도구 자체를 포함한 모든 빌드 종속성은 자동으로 다운로드됩니다(이미 존재하지 않는 한).
기여를 환영합니다! 자세한 지침은 기여 페이지를 참조하세요.
의견이나 질문이 있는 경우 사용자 포럼으로 안내해 주세요. 모든 피드백에 감사드립니다!
게시된 모든 jar(Spock 1.2부터 시작)에는 자동 모듈 이름 매니페스트 속성이 포함됩니다. 이를 통해 Spock을 Java 9 모듈 경로에서 사용할 수 있습니다.
spock-core — org.spockframework.core
spock-spring — org.spockframework.spring
spock-tapestry — org.spockframework.tapestry
spock-guice — org.spockframework.guice
spock-unitils — org.spockframework.unitils
따라서 모듈 작성자는 spock 모듈에 대해 잘 알려진 모듈 이름을 사용할 수 있습니다. 예를 들어 다음과 같습니다:
모듈 foo.bar 열기 { org.spockframework.core가 필요합니다. org.spockframework.spring이 필요합니다. }
Ayşe Altınsoy(@AltinsoyAyse)가 만든 Spock 로고는 spock-logo 저장소에서 관리됩니다.
Spock 홈페이지 — https://sockframework.org
Groovy 웹 콘솔 — https://groovyconsole.dev/
GitHub 조직 — https://github.com/sockframework
참조 문서 — https://docs.sockframework.org
사용자 포럼 — https://github.com/spockframework/spock/discussions
채팅 — https://gitter.im/sockframework/spock
스택 오버플로 - https://stackoverflow.com/questions/tagged/spock
이슈 트래커 — https://github.com/sockframework/spock/issues
Spock 예제 프로젝트 — https://github.com/sockframework/spock-example
트위터 — https://twitter.com/SockFramework
마스토돈 — https://fosstodon.org/@spockframework
? 오래오래 번영하세요!
Spock 프레임워크 팀