我正在尝试用Maven/Intellij运行spock测试。但是maven和intellij都没有接受测试类。它肯定会拾取类,但不会在类中执行任何测试。
class SpaceAccessorServiceTest extends Specification {
SpaceLookUpService spaceLookUpService = Mock()
SpaceAccessorService accessorService = new SpaceAccessorService();
def gsProxy = Mock(GigaSpace)
def setup() {
spaceLookUpService.getSpace(_ as String) << gsProxy
}
def 'should call readmultiple function on gigaspace proxy to get all objects from space for typename'() {
given 'environment name'
String envName = 'Grid-A'
String dataType = 'data'
String criteria = 'some-criteria'
when 'call space accessor service to get all objects from space for typename'
accessorService.getAllObjectsFromSpaceForTypeName(envName, dataType, criteria)
then 'readMultiple method is invoked on gigapsace proxy'
1 * gsProxy.readMultiple(_ as SQLQuery)
}
}
T E S T S
-------------------------------------------------------
Running com.ambuj.SpaceAccessorServiceTest
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.369 sec
There are no tests to run.
Results :
java.lang.Exception: No tests found matching Method should call readmultiple function on gigaspace proxy to get all objects from space for typename(com.ambuj.SpaceAccessorServiceTest) from org.junit.internal.requests.ClassRequest@5aaa6d82
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40)
2)Surefire插件配置正确,因为它会拾取文件进行测试
3)target/test-classs文件夹中生成的测试类
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<includes>
<include>**/*Test.class</include>
<include>**/*Spec.class</include>
</includes>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>2.8.1</version>
</dependency>
</dependencies>
</plugin>
我需要帮助我在这里错过了什么。
也许是太晚了,但我只是想强调@Steinar的评论也解决了我的问题。
作为第一次使用Spock的用户,我也犯了同样的错误,在Spec中没有标签given:
、when:
和then:
。然后偶然发现了这个问题,找到了斯坦纳的评论。
在以前的一个项目中,我使用Spock测试框架对Java代码进行单元测试。我发现这非常有效,所以我尝试将Spock测试添加到我当前的项目中,该项目使用Maven作为构建工具(前一个项目使用Gradle)。虽然我可以让Maven编译我的Spock测试(使用),但我无法让Maven运行这些测试。 我做了一个简单的例子来演示我在两个文件中的问题: null 当我执行(或)时,我希望运行单个单元测试并失败。
问题内容: 我有一个基于Gradle的Java项目,现在我想使用PowerMock模拟一个私有方法。问题是我无法使用PowerMockRunner,因为添加注释时总是会收到以下异常。 错误: 这是我的测试依赖项: 完全为空(初始化错误)时,测试本身也会失败: 任何想法可能有什么问题吗?使用PowerMock的其他测试运行正常(没有一个使用PowerMockRunner)。 问候和感谢您的任何帮助!
我遇到了无法使用Maven运行JUnit5测试的问题。在IDE中运行它们工作正常,但使用“mvn测试”会产生以下输出: 这是我的测试课程: pom: 我做了一些研究,我认为这可能与混合JUnit4和JUnit5特性有关,这导致maven surefire插件无法运行测试。然而,我找不到那些剩余的JUnit4特性可能在哪里。我将感谢任何帮助。
Spock规范如下所示: 是一个测试记录列表,对于该列表的每个成员,方法将按顺序运行。我想要的是,列表的前k个成员运行一个线程,下面的k个成员在第二个线程中运行,等等...理论上,使用Executors框架和类(因为Spock依赖于JUnit),这可以相对容易地完成。 然而,问题是如何将更小的注入到具有方法的类中,因为Spock不允许构造函数,而JUnitCore需要类名(具有测试/规范的类),而
我在看一个例子,从沃尔的春靴在行动书。它是一个用Groovy编写的简单web应用程序。该项目使用Spring CLI构建、运行和测试,不使用gradle构建文件,并使用grabs.groovy文件提供H2和Thymeleaf依赖项。有两个测试班。第一个是JUnit测试,第二个是Spock规范。JUnit测试文件是: 我不擅长编写Spock测试,所以我不确定问题是什么。
我正在尝试使用Spock运行geb测试。我已经在groovy脚本中编写了所有内容,该脚本位于中,如下所示