首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spek测试未在maven Java项目中运行

Spek测试未在maven Java项目中运行
EN

Stack Overflow用户
提问于 2018-10-10 16:33:55
回答 1查看 227关注 0票数 1

我有一个现有的Java项目,我希望在其中引入一些Spec测试(在kotlin ofc中)

代码语言:javascript
复制
class CalcSpec: Spek({
    given("A calculator") {
        val calculator = Calculator()
        on("Adding 3 and 5") {
            val result = calculator.sum(3, 5)
            it("Produces 8") {
                org.junit.jupiter.api.Assertions.assertEquals(8, result)
            }
        }
    }
})

我已经添加了spek依赖项。

代码语言:javascript
复制
        <dependency>
            <groupId>org.jetbrains.spek</groupId>
            <artifactId>spek-api</artifactId>
            <version>1.1.5</version>
            <type>pom</type>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.jetbrains.spek</groupId>
            <artifactId>spek-junit-platform-engine</artifactId>
            <version>1.1.5</version>
            <type>pom</type>
            <scope>test</scope>
        </dependency>

并将kotlin-maven-plugin和maven-compiler-plugin配置为此处描述的https://kotlinlang.org/docs/reference/using-maven.html#compiling-kotlin-and-java-sources

(省略问题中的maven-编译器-plugin配置)

代码语言:javascript
复制
       <build>
        <plugins>
        <plugin>
            <artifactId>kotlin-maven-plugin</artifactId>
            <groupId>org.jetbrains.kotlin</groupId>
            <version>1.0.6</version>
            <executions>
                <execution>
                    <id>test-compile</id>
                    <phase>process-test-sources</phase>
                    <goals> <goal>test-compile</goal> </goals>
                    <configuration>
                        <sourceDirs>
                            <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
                        </sourceDirs>
                    </configuration>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
            <configuration>
                <useManifestOnlyJar>false</useManifestOnlyJar>
                <includes>
                    <include>**/*Spec.*</include>
                </includes>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.junit.platform</groupId>
                    <artifactId>junit-platform-surefire-provider</artifactId>
                    <version>1.0.0</version>
                </dependency>
            </dependencies>
        </plugin>
       ...
    </plugins>
</build>

我尝试过不同版本的kotlin、spek和surefire插件,但直到现在都没有成功。

每次我尝试运行测试时,都没有执行Spek测试,即使它们是在target/test-classes中。(对于CalcSpec,生成了5个.class文件)

EN

回答 1

Stack Overflow用户

发布于 2018-10-12 09:46:16

我知道你说过你已经尝试过不同的版本,但是尝试一下surefire 2.19和Junit-platform 1.1.0-M2。

不久前我也遇到过同样的问题,这些对我来说都是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52735929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档