Avi*_*ash 9 groovy powermock spock
我有一个带有一些静态方法的类.我需要模拟这些静态方法.我知道PowerMock会这样做,但是我无法找到任何能够解释"Spock + PowerMock"集成的教程/材料.我更喜欢Spock和Junit,因此是一个难题.有没有办法让这两个框架发挥作用?任何帮助都非常感激.示例代码,更是如此.
更新:方法的当前状态
jua*_*olo 14
我也被困在这里一段时间了.搜索了几个小时后,我看到了这个github repo:https://github.com/kriegaex/Spock_PowerMock.
我尝试添加一个PowerMockRule,它实际上使我能够与Spock一起使用PowerMock.我不得不添加这些依赖项.版本为1.5.4
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4-rule</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-classloading-xstream</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我的班级看起来像这样:
import org.junit.Rule
import org.mockito.Mockito
import org.powermock.api.mockito.PowerMockito
import org.powermock.core.classloader.annotations.PrepareForTest
import org.powermock.modules.junit4.rule.PowerMockRule
import spock.lang.Specification
@PrepareForTest([SomeStaticClass.class])
public class FlightFormSpec extends Specification {
@Rule PowerMockRule powerMockRule = new PowerMockRule();
def "When mocking static"() {
setup :
PowerMockito.mockStatic(SomeStaticClass.class)
when :
Mockito.when(SomeStaticClass.someStaticMethod()).thenReturn("Philippines!");
then :
SomeStaticClass.someStaticMethod() == "Philippines!"
}
}
Run Code Online (Sandbox Code Playgroud)
这是另一个资源:https://github.com/jayway/powermock/wiki/powermockrule
| 归档时间: |
|
| 查看次数: |
7109 次 |
| 最近记录: |