你好呀朋友 👋

欢迎来到我的博客

如何优雅地使用 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

How to Set Up Rime

Rime 小狼毫 一些问题:如何取消 ctrl+grave 的快捷键 如何切换 ascii mode 雾凇输入法的配置 vscode 的 vim 模式 weasel.yaml 速查 · rime/weasel Wiki mac 上要怎么配置

April 19, 2024 · 1 min · 20 words · JackyLee

Github开源项目 Joyful Pandas 阅读笔记

最近准备复现一些实验,每次都要重新学 Pandas 的一些语法,刚好看到了这个仓库 仓库地址 仓库介绍 作者是 Datawhale,一个专注于数据科学与 AI 领域的开源组织(有 100+ 个仓库,厉害! 2020.1.20 建立仓库,初始化 README.md # Joyful-Pandas A Complete Guide for Pandas Learners 5 年期间不断更新,最近一次是在 2024.10.17,更新了英文的介绍 代码方面 代码写的非常优雅,不过因为我的 Pandas 版本比较高,所以部分函数失效,比如 DataFrame 的 mad 函数,在 pandas 的 2.0 版本之后就废弃了 或者说使用 any(1) 或者 all(1) 时,新版的 Pandas 需要显示地指定形参名,所以建议改为 any(axis=1) 和 all(axis=1) 然后就是格式化稍微有点问题(不影响代码运行) 评价 总体来说是个非常好的教程仓库 参考 datawhalechina/joyful-pandas: pandas 中文教程

April 6, 2024 · 1 min · 54 words · JackyLee

Hugo 添加评论功能

第 1 步: 获得 Giscus 原始标签 在 Giscus 官方 配置好以后,获得如下的 <script>...</script> 标签 <script src="https://giscus.app/client.js" data-repo="[在此输入仓库]" data-repo-id="[在此输入仓库 ID]" data-category="[在此输入分类名]" data-category-id="[在此输入分类 ID]" data-mapping="pathname" data-strict="0" data-reactions-enabled="1" data-emit-metadata="0" data-input-position="bottom" data-theme="preferred_color_scheme" data-lang="zh-CN" crossorigin="anonymous" async> </script> 第 2 步:配置 themes 目录的文件 不同的主题可能不一样,需要灵活转变,这里用 PaperMod 主题举例,该主题并未配置评论的 html,那么应该怎么办呢 首先进入 themes/<theme_name>/layouts/partials/ 在 <script>...</script> 代码复制到 comments.html 中,然后在 extend_footer.html 的末尾添加如下代码 {{- partial "comments.html" . -}} 这行代码本质上是用了 go-templates 语法,具体可以参考Template · Go语言中文文档 做到这步就可以看到评论了,但是依然会有一些问题 在任何页面都会产生评论功能,比如主页,就不是很好看 只能对特定主题生效,切换主题仍然需要重新配置 第 3 步:依然配置 themes 目录文件 如果我们在刚刚的 extend_footer.html 中输入这样一段代码 {{ ....

April 3, 2024 · 1 min · 194 words · JackyLee

Hugo 工作流

Huge 发布工作流 第一步:生成文章模板 hugo new --kind <archetypes> <path/to/post>/index.md # 例如 hugo new --kind post path/to/post/index.md 第二步:修改 tags 和 categories tags: [] categories: [] 第三步:创作 写文章 第四步:提交

April 3, 2024 · 1 min · 26 words · JackyLee