V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  NX2023  ›  全部回复第 1 页 / 共 12 页
回复总数  225
1  2  3  4  5  6  7  8  9  10 ... 12  
@GallifreyCAR #78 关键是直接起一个实例来读写很方便,用 go-sqlmock 的 ExpectExec 不如执行完 SELECT 一下看是否符合修改后的预期
@GallifreyCAR #78 个人感觉 go-sqlmock 这种写法不太能接受,所以我没按照这种方式(
全局变量也是可以的,虽然麻烦些

先说关于依赖的处理,如果数据库是 MySQL 的话比较方便,可以使用 github.com/dolthub/go-mysql-server 在本地内存起一个,然后改配置文件,连接这个内存实例,这个库可以当做是 Go 实现的 MySQL

可以配套运行一些脚本建表与造一些数据,这样测起来方便

但是这个库运行某些 SQL 会有问题(绝大部分时候正常),这时候就上 https://github.com/testcontainers/testcontainers-go 用容器起数据库,包括 PostgreSQL 也只能这样

Redis 可以用 https://github.com/alicebob/miniredis

其他依赖直接 gomonkey 打桩

具体来说,可以先实现一个通用的造环境函数准备好数据库之类,每个测试开始调用一下(或者 test Main ,这个方法很多)

之后造 HTTP 请求调 handler ,之后用 testify 检查返回与数据库更改是否符合要求(比方说更新后再查一下是否已更新)
体验这个世界
24 天前
回复了 exploretheworld 创建的主题 Java 写了 3 天 go,我想念 Java 了
@Ayanokouji openapi 有框架可以自动泛型推导了,例如 fuego ,很好用
@Zzzz77 我这里说的就是编辑图,markdown 会跟着变
@runking 是哇,我说的就是这个
官网有个 playground ,右边编辑左边跟着动
https://i.imgur.com/ZCmkVC9.png
Mermaid 官网我记得可以的
74 天前
回复了 jiangpranay 创建的主题 Apple 有没有 MacBook 游戏推荐?
博德之门 3 ,年度最佳质量毋容置疑
跨平台也很稳,和几个 Windows 舍友一起联机非常欢乐
77 天前
回复了 tedaz 创建的主题 问与答 大家有过突然一夜未眠的经历吗
@tedaz 按照我个人经验应该不会太依赖?可以搜一下
不过我现在尽量自然睡,发现不对劲了就来一粒
77 天前
回复了 tedaz 创建的主题 问与答 大家有过突然一夜未眠的经历吗
有过,但是现在不敢通宵了,发现睡不着直接一粒褪黑素
78 天前
回复了 dtgxx 创建的主题 问与答 有没有可以上传代码项目的 ai
cursor trae deepwiki
100 天前
回复了 livc 创建的主题 Windows 怎么把 windows 鼠标滚轮方向调整成和 mac 一样
@NX2023 没事了这是调 mac 和 win 一样的
100 天前
回复了 livc 创建的主题 Windows 怎么把 windows 鼠标滚轮方向调整成和 mac 一样
我是会用的,当然用依赖注入不一定等于使用依赖注入框架

如果框架我用 https://github.com/samber/do

个人心理洁癖,感觉不依赖注入就跟私拉电线一样这里调一下那里调一下,看着乱心里不舒服(
依赖注入之后等于是把电线捆好放在这里,一个模块一个模块分割的很清晰

当然依赖注入的优点我也是很赞成的,包括容易写测试
@matrix1010 #4 我之前会弄一个初始化函数替换所有全局变量例如 *gorm.DB ,其他的就直接 gomonkey 了😅
129 天前
回复了 gibber 创建的主题 程序员 请教一个 wsl2 的网络配置问题
wsl 的网络设置成 mirror 行不行
133 天前
回复了 trysingtime 创建的主题 深圳 深圳到底应该怎么租房呀?
@techdai 确实,我去年住欢乐颂旁边,感觉非常爽
你越在意什么,什么就越折磨你🫠
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3635 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 04:27 · PVG 12:27 · LAX 21:27 · JFK 00:27
Developed with CodeLauncher
♥ Do have faith in what you're doing.