问题描述
我具有以下功能:
MarketingHandler = function () {
return {
Init: function () {
$(document).on("click","#verify .modal-close",function () {
tryVerification();
});
}
}
function tryCommunicationPreferencesInterceptorAfterVerification() {
var overlayIsNotDismissed = CookieHelper.GetCookie("dismissed-overlay") == null
if (overlayIsNotDismissed && window.location.pathname === "/Home/") {
OverlayHelper.Display("save-preferences");
}
else if (overlayIsNotDismissed) {
// do something else
}
}
}();
$(document).ready(function () {
MarketingHandler.Init();
});
我正在尝试编写一个测试,表明应该在OverlayHelper.Display("save-preferences");
处被调用。这是我的尝试:
QUnit.test("Test",function (assert) {
MarketingHandler.Init();
if (CookieHelper.GetCookie("dismissed-overlay") != null) {
CookieHelper.DeleteCookie("dismissed-overlay");
}
sinon.stub(window.location,'pathname').returns("/Home/");
var displayOverlaySpy = sinon.spy(OverlayHelper,'Display');
var $fixture = $("#qunit-fixture");
$fixture.append(HTMLInjector());
$('#verify .modal-close').click();
assert.ok(displayOverlaySpy.calledOnceWith("save-preferences"),"overlay shown");
displayOverlaySpy.restore();
});
function HTMLInjector() {
return "<input type='hidden' id='verify .modal-close'/>"
}
但是,我在测试中得到“预期为真,结果为假”。有人可以在这里发现我出问题了吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)