如何优雅地使用 spock 框架写单测

依赖 <!-- 1.Spock 相关 --> <dependency> <groupId>org.spockframework</groupId> <artifactId>spock-core</artifactId> <version>1.3-groovy-2.4</version> <scope>test</scope> </dependency> <dependency> <groupId>org.spockframework</groupId> <artifactId>spock-spring</artifactId> <version>1.3-groovy-2.4</version> <scope>test</scope> </dependency> <!-- 2.PowerMock 相关--> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <version>2.0.4</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito2</artifactId> <version>2.0.4</version> <scope>test</scope> </dependency> 单测 Demo 静态类单测 Demo @RunWith(PowerMockRunner.class) @PowerMockRunnerDelegate(Sputnik.class) // 交给 spock 代理执行 @PrepareForTest([静态类.class]) @SuppressStaticInitializationFor(["静态类全名"]) // 限制静态类里的静态代码块初始化 class StaticMethodSpec extends Specification { def service = Mock(UserService) def controller = new UserController(userService: service) void setup() { // Mock静态类 PowerMockito.mockStatic(静态类.class) } @Unroll def "测试类名 #desc"() { given: "给定条件" def user = service....

July 26, 2024 · 1 min · 182 words · JackyLee