我正在try 为Jasmine Test Framework编写一个测试,它预期会出现错误.现在我用的是Jasmine Node.js integration from GitHub.

在我的 node 中.js模块我有以下代码:

throw new Error("Parsing is not possible");

现在,我try 编写一个测试,该测试预计会出现以下错误:

describe('my suite...', function() {
    [..]
    it('should not parse foo', function() {
    [..]
        expect(parser.parse(raw)).toThrow(new Error("Parsing is not possible"));
    });
});

我也try 了Error()和其他一些变体,但就是不知道如何让它工作.

推荐答案

try 改用匿名函数:

expect( function(){ parser.parse(raw); } ).toThrow(new Error("Parsing is not possible"));

您应该将一个函数传递给expect(...)调用.您的错误代码:

// incorrect:
expect(parser.parse(raw)).toThrow(new Error("Parsing is not possible"));

实际上正在try call parser.parse(raw),试图将结果传递给expect(...)

Javascript相关问答推荐

滚动时如何响应地隐藏图像上的文本?

在JavaScript中使用setProperty方法试图修改css元素值时,我遇到错误

当我使用jQuery时,我的图标显示为[对象对象]

详细更改参考价值:"

try 在addEventHandler内设置表单的文件输入.值=空

为什么使用MAX_SAFE_INTEGER生成随机整数时数字分布不准确?

仅在React和JS中生成深色

fetch在本地设置相同来源的cookie,但部署时相同的代码不会设置cookie

如何在表格上拥有水平滚动条,在正文页面上拥有垂直滚动条,同时还对html表格的标题使用位置粘性?

传递一个大对象以在Express布局中呈现

togglePopover()不打开但不关闭原生HTML popover'

如何使覆盖div与可水平滚动的父div相关?

如何将Cookie从服务器发送到用户浏览器

如何将react—flanet map添加到remixjs应用程序

将内容大小设置为剩余可用空间,但如果需要,可在div上显示滚动条

Reaction Redux&Quot;在派单错误中检测到状态Mutations

如果没有页面重新加载Angular ,innerHTML属性绑定不会更新

如何在一个对象Java脚本中获取不同键的重复值?

FileReader()不能处理Firefox和GiB文件

ngOnChanges仅在第二次调用时才触发