javascript - Jest 似乎跳过了测试
问题描述
我正在用 Jest 做一些原型设计,但遇到了一个奇怪的问题。我的测试位于一个单独的文件中,该文件将测试导出为函数。然后我有另一个文件导入测试并将它们作为一个套件运行。这个想法是我可以使用配置文件动态创建一个测试套件来提取我想要的测试。
我正在尝试使用import
表达式来加载文件。这按预期工作。我看到了测试,但 Jest 似乎跳过了测试。测试在控制台中输出,但它既不是通过也不是失败。它看起来与运行跳过的测试的方式相同。
这是我正在尝试做的一个例子。
我的文件包含我的测试:
import { sayHello } from '../../src/say-hello';
const testReturnMessage = () => {
return it('should return the correct message', () => {
expect(sayHello('Example')).toBe('Hello Example');
});
};
export const SayHelloTests = {
testReturnMessage,
};
然后我import()
把它拉到一个测试套件中:
import('./sayHelloModule').then((module) => {
module.SayHelloTests.testReturnMessage();
}).catch(err => console.warn(err));
这就是笑话输出的样子。我正在使用 codesandbox.io 来做我的原型:
我知道我的测试有效,因为当我以正常方式进行测试时,我通过了。
import { SayHelloTests } from './sayHelloModule';
SayHelloTests.testReturnMessage();
这一直让我发疯,因为它应该工作,我不知道为什么它不工作。我猜它与 Jest 有关,因为如果我导入一个非测试函数,它运行得很好。有没有人有任何想法或以前见过这样的事情?
解决方案
推荐阅读
- c - 我如何为 ym 矩阵设置间距?
- cassandra - 如何在 Ubuntu (Linux) VM 中仅关闭 Cassandra 的交换
- azure - Azure 函数应用处理相同的消息 2 次
- c# - 如何将 sonarqube 与 Visual Studio 解决方案集成
- webpack - Webpack 4:重新编译 scss 需要 3+ 秒
- speech-recognition - 使用 g2p-seq2seq 创建字典:ValueError: No JSON object could be decoded
- r - 如何将具有特殊字符的给定字符串转换为具有正确重音的字符串?
- javascript - 如何分别为每个文件加载和总计?
- selector - 我可以使用 QuerySelector 自动选择一个项目吗
- 并点击它
- ios - 在 Swift 4 中滚动 UITableView 时如何更新 UISlider 值