Add support for inline snapshots tests
未关闭
还没有人认领这个 Issue。
feature request
never-stale
- 主要语言
- JavaScript
- 星标
- 122k
- 派生
- 37.4k
- 平均合并
- 4 天 3 小时
- 30 天内合并 PR
- 272
描述
What is the problem this feature will solve?
Jest inline shapshots are like file-based snapshots but much more casual. I love using them for small snapshots and I think they'd be a great improvement to Node.js. From Jest's docs, they look like:
it('renders correctly', () => {
const tree = renderer
.create(<Link page="https://example.com">Example Site</Link>)
.toJSON();
expect(tree).toMatchInlineSnapshot(`
<a
className="normal"
href="https://example.com"
onMouseEnter={[Function]}
onMouseLeave={[Function]}
>
Example Site
</a>
`);
});
What is the feature you are proposing to solve the problem?
The Node.js version might look like:
test("renders correctly", async ctx => {
const tree = renderer
.create(<Link page="https://example.com">Example Site</Link>)
.toJSON();
ctx.assert.snapshotInline(`
<a
className="normal"
href="https://example.com"
onMouseEnter={[Function]}
onMouseLeave={[Function]}
>
Example Site
</a>
`);
});
What alternatives have you considered?
I use file snapshots or assert.deepEqual().
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 issue 中链接的 Jest inline snapshots 文档开始,并将其与提议的 Node.js 测试 API ctx.assert.snapshotInline 进行比较。检查现有的 file-snapshot 和 assert.deepEqual 替代方案;当 Node.js 支持示例中描述的提议的 inline-snapshot 测试流程时,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript, node.js
- 领域
- testing
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 30/100