我之前学习rust的时候发现rust的doctest真的很好用,直接在doc里面写test测试,可以直接运行测试还可以生成对应的文档,对于纯函数来说不用另外写测试,测试用例也是展示用法的表现。作为一个前端切图仔,我就去js的社区找,结果没有找到,只有几个已经停止维护的类似的项目。
最近一堆人在聊 Codex吊打claude code,而且现在codex还有一定的免费额度,我正好用codex的5.3-codex免费额度实测了一把生成一个jsdoctest的项目,项目写完免费额度也没用完。
之前我常用的是 Claude Code、Qoder、Antigravity,这次专门拿 Codex 做了一个完整的小工具仓库:node-doctest。而且我没有进行任何的额外配置,没有mpc没有skills配置。我感觉codex比 Claude Code和Antigravity都强上不少,或许是我对Claude Code和Antigravity的配置和学习不足,但是在简单配置或者说是0配置下codex比Claude Code强上不少尤其是它的xhight模式,基本上就会一直进行自测直到完成,不过有时候也会钻牛角尖,一直在用同样的方案一直尝试也搞不定。
这个仓库里大概 99% 的代码是 AI 生成。说是99%,其实核心代码全都是ai生成的,我可能稍微改过几个字。
作为一个切图仔平常基本不写nodejs,很多实现如果让我自己从 0 写,估计得查资料查一周才敢下手,直接一句实现一个类似resut的doctest的nodejs的dotest,Codex 直接把框架和关键逻辑都写好了。感觉现对于程序员来说在自己不熟悉的领域(会一点懂得不多)提效非常明显,省去了大量查询资料和学习时间。但是对于我天天写react页面来说,生成的react页面代码提效没那么多(还是比手写快不少)。
问题
对于ai生成代码,如果太多了,我就不想去读了,这次第一版生成的代码只有400行,我挨个全看了,但是我用其他仓库安装后测试发现报错,然后我让codex改下,结果代码直接膨胀到1200行,本来就多是我没那么熟悉的nodejs代码(页面切图仔),看着一大坨代码头疼,索性我直接不看了,测试过了就发布npm包了。现在在公司写页面也是这样了,有时候生成的代码太多了,测试功能都正常就不想细看了。
下面是ai生成的简介
这个仓库是干嘛的?
node-doctest 是一个轻量级 Node.js doctest 运行器。
你可以直接在 JSDoc 里写 @test 代码块,然后一条命令跑测试。
支持文件类型:
- .ts .mts .cts .tsx
- .js .mjs .cjs .jsx
核心思路是:
- 扫描源码里的 JSDoc 注释
- 找出带 @test 的 fenced code block
- 提取并执行测试代码
- 输出每个 doctest 的通过/失败位置
怎么用?
仓库地址:
- GitHub: github.com/sidely-zzx/…
安装:
npm install --save-dev node-doctest
运行:
npx node-doctest
指定目录/文件:
node-doctest tests node-doctest src/index.ts tests/ts
doctest 写法示例
在函数注释里写:
/** * 两数相加 * @test * ``` * assert.strictEqual(add(1, 3), 4); * ``` */ export function add(a: number, b: number) { return a + b; }
我本地跑出来的结果类似这样:
PASS tests/js/plus.js:4 PASS tests/jsx/add.jsx:4 PASS tests/ts/math.ts:6 PASS tests/ts/math.ts:16 PASS tests/ts/math.ts:31 PASS tests/ts/mutl.ts:4 PASS tests/tsx/add.tsx:4 Doctest result: ok. 7 passed; 0 failed; 7 total.
这次 Vibe Coding 的真实感受(也想请教大家)
我一直在摸索所谓的 vibe coding,但还没找到特别顺手的“工业化节奏”。
我目前的模式还是:
- 给 AI 一小段需求
- 让 AI 写代码 + 自测
- 我再手动测一遍
- 有问题继续补 prompt 迭代
能做出东西,但和网上那种“一次 prompt 直接出完整需求实现”的状态,还是有差距。
这次做这个项目也有同样感受,所以真心想请教评论区大佬:你们现在稳定可复用的 vibe coding 工作流是怎样的?
最后,求一波反馈 🙏
如果你也对这类 doctest 工具感兴趣,欢迎:
- 用一下这个仓库
- 提 issue(功能建议 / bug / 体验问题都行)
- 顺手点个 Star 支持一下
项目地址再放一次:
github.com/sidely-zzx/…