新一代的 golang 测试库

2022-04-25 18:39:55 +08:00
 ysmood

项目地址 https://github.com/ysmood/got

用 golang 的朋友如果写测试的话基本都知道 testify ,但是其存在诸多多年未解决的问题,使用的体验比较原始。我在开发一个更加现代的测试框架,现在基本的框架已经成型,希望能有更多感兴趣的小伙伴能加入到项目里来改进它的特性。

这个项目没有任何依赖,非常轻量,很适合想学习 golang 的朋友阅读它的源代码,比如反射,diff 算法。

下面这个链接是和 testify 的简单比较:

https://github.com/ysmood/got/discussions/7

4349 次点击
所在节点    Go 编程语言
25 条回复
Muninn
2022-04-25 19:09:15 +08:00
star 了支持下
有闲心搞这么基础的东西的是大佬无疑了
wsseo
2022-04-25 19:36:15 +08:00
试试
twistedmeadows
2022-04-25 20:55:49 +08:00
举手🙋🏻‍♂️,有什么容易上手的子任务可以分给我吗?只能在业余时间开发
ysmood
2022-04-25 22:03:08 +08:00
gowk
2022-04-25 22:37:20 +08:00
点进去才发现已经 Follow 过 OP 了
ysmood
2022-04-25 23:24:34 +08:00
多谢支持
twistedmeadows
2022-04-26 00:12:17 +08:00
@ysmood 好的,我明天会先花点时间读下代码,合适的话我会申请把 issue assign 给我
ysmood
2022-04-26 07:33:16 +08:00
@twistedmeadows OK ,有问题的话可以直接在 issue 里问。
njutree
2022-04-26 08:20:50 +08:00
Mistwave
2022-04-26 09:00:44 +08:00
看起来不错 等会试试
lbp0200
2022-04-26 10:59:18 +08:00
goland 支持吗?
ysmood
2022-04-26 11:14:26 +08:00
@lbp0200 支持
chaodada
2022-04-26 14:07:26 +08:00
谢谢 学习一下
njutree
2022-04-26 14:43:25 +08:00
example 在 lib 下看起来挺奇怪的
zhujq
2022-04-26 15:12:05 +08:00
学习一下
ysmood
2022-04-26 16:33:19 +08:00
@njutree golang 在这块没有太多规范,都是三方的。我故意没用 pkg ,因为 lib 也有图书馆的意思,所有就把文档也放里面了,主要是为了减少开发时的杂音,大部分时候开发这个项目的人不关心 example 文件,所以没必要放根目录,根目录最好是放开发时最重要的东西。
ysmood
2022-04-26 16:35:53 +08:00
@njutree 而需要读 example 的用户一般都会直接从 readme 跳转,所以也没必要放根目录。
njutree
2022-04-26 16:51:05 +08:00
lib 是图书馆... 一般默认 lib 都是放库的 package, 文档可以专门建一个 docs , examples 对与用这个库的人来说其实是挺重要的一个 folder.
@ysmood
ysmood
2022-04-26 16:54:29 +08:00
@njutree 一般代码库都是放 pkg ,既然我选择了 lib 就已经不一般了,lib 比 pkg 更宽泛,可能放很多非核心代码的东西,比如 docker 的配置,这个你如果放 pkg 就会显得特别奇怪,因为它不是 golang 代码。
ysmood
2022-04-26 16:56:04 +08:00
@njutree 我这里假设的是阅读者没有任何 golang 的经验,所有文件的唯一入口点就是 readme ,只要看了它就不会有歧义了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/849222

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX