hamsterbase 最近的时间轴更新
hamsterbase
ONLINE

hamsterbase

V2EX 第 579049 号会员,加入于 2022-04-23 00:05:50 +08:00
今日活跃度排名 1847
hamsterbase 最近回复了
@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 行代码。
6 天前
回复了 fox0001 创建的主题 程序员 原来我已经不用浏览器的书签同步了
分享一下我的做法,前段时间把我 2000 个书签都离线了。 目前电脑上已经几乎没有书签了 。

1. 把网页保存为 mhtnl ,导入自己开发的稍后读软件
2. 加入未读清单,未读清单只显示最近两周的页面
3. 用 rss 订阅未读清单,平时用手机和电纸书阅读
4. 碰到好的段落,在 mhtnl 文件上批注。


为什么这么做

1. 为了防止文章 404 ,用 mhtnl 创建一个完美的快照。
2. 自动遗忘超过两周的网页。 可以有效避免稍后读积攒太多,让人想放弃情况。 文档还在,等需要的时候全文搜索就可以了。
3. rss 订阅,我可以选择自己喜欢的阅读器。 不需要额外开发移动端。
合法。 举个例子

几乎所有对象存储,都会提供 aws s3 兼容的 API ,让客户可以无缝切换到他们的服务。
补充

9. 源代码: 按照 host/group/name 命名。比如说 github.com/hamsterbase/hamsterbase
10. 游戏: 主要是 steam 购买正版,不需要管理。

所有的文件都可以找到对应的管理软件,几乎不存在散落在外的文件。 自然也不存在管理文件的需求。
每次换电脑的时候,只需要拷贝几个文件夹就可以了。
我的解决方法: 使用管理软件


1. 照片: 使用群晖的 Photos 管理。 相机,手机,无人机的照片都放到一个照片管理软件里

2. 电子书: 使用 Zotero 管理。 所有的电子书,论文 都用 zotero 管理起来。 要阅读的时候拷贝到电子书里,读完之后把笔记拷贝回 zotero

3. 笔记、文档: 使用 logseq , obsidian 管理管理。 平时的个人笔记,文档都放到笔记软件里。 每次更新以后用 git 同步到 GitHub

4. 电影: 使用 emby , jellyfin 等媒体软件管理。 用刮削器从豆瓣刮削信息。


5. 音乐: 使用 iTunes 管理,从豆瓣找专辑封面, 同步到手机,iPad 上听歌。


6. 图片,设计文件: 使用 eagle 管理。 平时用 eagle 的插件收藏设计。

7. 网页: 使用自己开发的稍后读工具, 用 rss 同步到电子书和手机上阅读。

8. 其他文件: 用压缩包大包以后归档。 按照归档日期命名。命名格式为 YYYY-MM-DD-文件名.zip
10 天前
回复了 wheeler 创建的主题 全球工单系统 书签工具 Cubox 无法生成快照的问题
可以试试看 https://www.v2ex.com/t/854379#reply17

相比 cubox 有以下好处

1. 支持解析 mhtml 和 webarchive 等浏览器自带的快照格式。 只要能访问,就能快照
2. 数据都在本地,隐私优先。
3. 不需要网络 可以永久使用
给考生佩戴 vr 虚拟头盔,在虚拟世界里考试。
13 天前
回复了 yuhangch 创建的主题 GitHub Copilot Github Copilot 正式上线了
🎉 Congratulations! You are eligible to use GitHub Copilot for free.


这个是不是就代表免费用。。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2373 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 00:36 · PVG 08:36 · LAX 17:36 · JFK 20:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.