hamsterbase 最近的时间轴更新
hamsterbase

hamsterbase

V2EX 第 579049 号会员,加入于 2022-04-23 00:05:50 +08:00
hamsterbase 最近回复了
拥抱 扩展 消灭。

最核心的部分都是闭源的。 开源吸引用户,闭源锁定用户。
30 天前
回复了 Pogbag 创建的主题 问与答 cubox 值得购买吗
vscode 的 server 是不开源的。 我选择用阿里的 opensumi 搭建。
33 天前
回复了 fox0001 创建的主题 程序员 原来我已经不用浏览器的书签同步了
@ixinshang

我是自己开发了一个程序 用 puppeteer 保存
@yifan1719

目前我推荐用 vitest

1. 速度快
2. 开箱即用。支持 ts


我个人建议以单测为主,集成测试为辅。 浏览器里的测试不太适合跑在 CI 上,速度也比较慢。


我自己写过最麻烦的 js 项目,每次就改几行代码,测试要跑几个小时。
测试框架主要由几部分组成


1. 测试框架: 主要用来提供测试的语法. 如 mocha

https://mochajs.org/

describe('Array', function () {
describe('#indexOf()', function () {
it('should return -1 when the value is not present', function () {
assert.equal([1, 2, 3].indexOf(4), -1);
});
});
});


2. 断言库: 主要用来写测试的断言 如 chai

expect(foo).to.be.a('string');
expect(foo).to.equal('bar');


3. 覆盖率工具: 主要是用来对代码插桩,或者是收集代码的使用情况。

可以看 instanbuljs 或者是 c8. 前者是插桩,后者是从 v8 收集数据。


4. mock 工具: 主要是忽略部分依赖。 使用 mock 的假依赖替换真实依赖。

https://www.npmjs.com/package/mm


jest 只是封装了上面这些工具。 其实你完全可以自己组装,开发出需要的库。
先回答楼主的问题

如果测试的都是浏览器内的逻辑,的确不需要 jest 。可以使用浏览器里的测试框架。 比如说 https://karma-runner.github.io/latest/index.html

或者使用集成测试的框架 https://docs.cypress.io/

上面两个框架都是跑在浏览器的。



如果是纯 js 的逻辑,或者是代码里涉及到了 nodjs , 用 jest 、vitest 等框架也是极好的。

https://github.com/hamsterbase/hamsterbase/pull/1/files

举个例子。 我这个开源 SDK ,一共 800 行代码。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1933 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 00:16 · PVG 08:16 · LAX 17:16 · JFK 20:16
Developed with CodeLauncher
♥ Do have faith in what you're doing.