jestjs - 扩展全局测试对象
问题描述
有没有办法test
用一些自定义属性来扩展全局笑话?例如,我想以这种方式在测试之前实现一些逻辑:
test.debug({ /* ... */ }, 'test', () => {
// ...
});
解决方案
这可以在per-test setup file或custom environment中完成,以防自定义需要与更深层次的环境交互:
it.whatever = (whateverArg, ...args) => {
const cb = args[1];
if (cb) {
args[1] = cb.length ?
(done) => { /* do whatever with whateverArg */ return cb(done); } :
() => { /* do whatever with whateverArg */ return cb(); }
}
return it(...args);
};
所有参数都需要按it
原样传递,需要额外注意测试回调,因为测试是否被认为是异步的取决于回调函数的数量。
推荐阅读
- spi - STM32F103 SPI不同引脚不工作
- python - 虽然使用 Tor 和 Privoxy,但页面仍然可以获得我的 IP
- javascript - 如何在javascript中等待样式改变
- c - 逐字复制数组与逐字母复制
- git - 如何使用 CMake 和 GIT 阻止 Visual Studio 2019 搜索 .git 目录
- uwp - UWP - 在视觉对象之间应用乘法 alpha 混合
- html - 代码/链接因我的计算机中的背景图像而失败
- makefile - 是否可以在不将其添加到所有目标的情况下执行 makefile 目标?
- kotlin - ArrowKT - 镜头调用给出编译错误
- powershell - 找不到接受参数“文件\”的位置参数