首页标签分类
003 Spock和Groovy使用
2025-01-18 · 更新 2026-03-03约 1 分钟 · 66 字
java基础
000

目录

003 Spock和Groovy使用
0. 前置条件
1. 基础用法

003 Spock和Groovy使用

0. 前置条件

maven引入依赖

xml
自动换行:关
放大阅读
展开代码
<groovy-all.version>3.0.23</groovy-all.version> <spock.version>2.1-groovy-3.0</spock.version> <dependency> <groupId>org.spockframework</groupId> <artifactId>spock-core</artifactId> <version>${spock.version}</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-all --> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>${groovy-all.version}</version> <type>pom</type> </dependency>

在maven的test目录下创建名为groovy的目录,并标记为maven的Test Resource Root

image-20250118154239644

存在如下的handler

java
自动换行:关
放大阅读
展开代码
/** * 获取默认的prompt * @param ctx 上下文 * @return result */ public Result<Prompt> getDefaultPrompt(Context ctx) { Result<Prompt> res = Result.success(null, ctx.path()); try (SqlSession vanblogSqlSession = SqlSessionHolder.getVanblogSqlSession()) { SqlSessionHolder.setSession(vanblogSqlSession); promptService = new PromptServiceImpl(); Prompt insertPrompt = promptService.getDefaultPrompt(); if (insertPrompt != null) { vanblogSqlSession.commit(); res.setData(insertPrompt); }else { vanblogSqlSession.rollback(); res.setStatus(500); res.setError("获取默认的prompt失败"); } }catch (Exception e){ res.setStatus(500); res.setError("获取默认的prompt失败"); res.setMessage(e.getMessage()); }finally { SqlSessionHolder.clear(); } return res; }

需要对如上的handler的使用spock测试

1. 基础用法

plaintext
自动换行:关
放大阅读
展开代码
class AiModelHandlerTest1 extends Specification { def "从数据库获取默认的prompt,已知默认的id为7"() { given: def vanBlogSession = SqlSessionHolder.getVanblogSqlSession() def promptService = new PromptServiceImpl() SqlSessionHolder.setSession(vanBlogSession) when: def prompt = promptService.getDefaultPrompt() then: prompt.id == 1 } }

image-20250118154509174

测试未通过

本文作者:hedeoer

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!