Jasmine间谍在变量对象上调用方法

时间:2014-01-20 23:44:12

标签: jasmine

考虑一下:

function () {
  var toast = new Toaster.ToastMessage({
    title: Resources.Localised.COPY_Success,
    message: Resources.Localised.COPY_CaseSavedSuccess,
    severity: Toaster.ToastSeverity.Success,
    position: Toaster.ToastPosition.TopRight
  });

  toast.show();
}

在jasmine中,有没有办法验证show()被调用?我想不是,实际上它是不合理的。

我无法访问变量toast。

spyOn(Toaster.ToastMessage, "show");不起作用。
我玩createSpyObj (jasmine.createSpyObj('Toaster.ToastMessage', ['show']);)没有成功。

感谢。

2 个答案:

答案 0 :(得分:0)

您可以尝试监视prototype的{​​{1}}:

Toaster.ToastMessage

答案 1 :(得分:0)

您可以使用

spyOn(Toaster.ToastMessage, "show");

然后执行“show”方法后使用:

expect(Toaster.ToastMessage.show).toHaveBeenCalledTimes(1);