我怎样才能使jest测试在任何抛出的错误上失败?
我试了一下,但还没有弄清楚语法。
test('getArcId => Error', async () => {
await expect(client.getArcId('skynet')).rejects.toThrow();
});
我收到错误消息
getArcId getArcId=&>;错误
expect(received).rejects.ToThrow()
接收的函数未引发
但是下面的测试通过了,所以我要测试的函数确实抛出了(至少在我对抛出含义的最好理解下是这样的):
test('getArcId => Error', async () => {
await client.getArcId('skynet').catch(e =>
expect(e.message).toBe('Command failure')
);
});
describe('getArcId()', () => {
it('should throw an error', async () => {
try {
await client.getArcId('skynet');
} catch (e) {
expect(e).toStrictEqual(Error('No command provided to proxy.'));
}
});
});
要使Jest异常处理按预期工作,请向其传递一个匿名函数,如:
test('getArcId => Error', async () => {
await expect(() => client.getArcId('skynet')).rejects.toThrow();
});
来自jest文档
test('throws on octopus', () => {
expect(() => {
drinkFlavor('octopus');
}).toThrow();
});
请注意匿名函数。是的,这让我有过几次:)
我无法使
it('throws on connection error', async () => {
expect.assertions(1);
await expect(nc.exec({ logger: true }))
.rejects.toEqual(Error('No command provided to proxy.'));
});
如果我拒绝的只是一个信息;
.rejects.toEqual('some message');
我正在实现开玩笑来测试我的React应用程序,并在我的实用程序函数上设置了一个简单的测试,但我得到了错误: 错误:您的测试套件必须至少包含一个测试。 我已经检查了我的实现,我认为一切都是正确的-有人能看一下我吗? 测试和函数的文件结构如下 如下所示: 和: 然后在我的package.json脚本中有,但出现以下错误: 谢谢大家:) 注意:是中的一个输入错误,但在修复后,我收到一个新错误:
这是我第一次体验前端测试。在这个项目中,我使用Jest快照测试并得到一个错误。 我查阅了Jest文档,找到了“手动模拟”部分,但我还不知道如何做到这一点。
问题内容: 这是我的第一个前端测试经验。在这个项目中,我正在使用jest快照测试,并且组件内部出现错误。 我浏览了一些有趣的文档,发现“手动模拟”部分,但是我还不知道该如何做。 问题答案: 开玩笑的文档现在有一个“官方”解决方法: JSDOM中未实现的模拟方法
我写了500多个单元测试方法。当我发出< code>ng test命令时。它开始测试所有的500种方法。 如果任何测试用例失败,它不会停止,仍然会继续执行所有方法。所以我需要等待更多的时间来再次重新运行单元测试。 我知道我们可以通过执行来存在,然后使用命令再次重新运行单元测试。这种方式也需要太多时间。 那么,如果任何一个测试失败,是否有可能停止(不存在)单元测试?
我有使用vue cli 3的vue应用程序。在安装过程中,我选择了jest作为测试框架。要运行我的单元测试,我在package.json中有一个脚本: 要运行这个我写在vs代码终端: 这将运行所有符合package.json文件jest配置部分中设置的规范的测试。 我的问题是如何只运行一个测试。我需要运行特定的命令吗?或者是否有一个vscode扩展将与此设置一起工作。
我正在尝试在linux上运行mocha测试 错误:未找到测试文件:“test/”npm ERR!测试失败。详见上文。 这是我的包 使用的命令:npm install--global mocha npm i并运行我正在使用npm test的测试 项目结构: