我正在使用Jest为node.js和React app编写快照测试,并在VS代码中安装了snapshot-tools扩展。
我的一些测试在编辑器中显示此警告:
[snapshot-tools]快照是红色的
(据推测它应该说是多余的)
这个警告意味着什么?我想知道如何解决它。
答案 0 :(得分:1)
我遇到了同样的问题,因此我看了一下“快照工具”代码。如果在测试文件中没有看到具有匹配名称且调用“ expect()。toMatchSnapshot()”或类似名称的相应测试,则它将快照部分标记为冗余。
问题是(如在插件市场页面的“限制”部分所述),它对测试文件进行了静态分析,以查找那些使用快照的测试。而且,静态分析无法检测到具有动态生成的名称的测试,或者不能在测试的正文中直接调用“ expect()。toMatchSnapshot()”的测试。
例如,我收到了错误肯定的“冗余”警告,因为我有一些测试在其“ afterEach()”函数中而不是直接在测试正文中进行“ expect()。toMatchSnapshot()”。
答案 1 :(得分:0)
这可能表示快照不再链接到有效测试 - 您是否更改了describe / it字符串而未更新快照?尝试运行附加-- -u
的测试(例如:npm test -- -u
)。如果这不起作用,请查看快照文件并将标题与测试说明进行比较。