如何解决QUnit测试为什么返回错误值
我具有以下功能:
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'/>"
}
但是,我在测试中得到“预期为真,结果为假”。有人可以在这里发现我出问题了吗?
解决方法
似乎单击事件是异步触发的,并且断言发生在单击发生之前。我认为您可以使用以下类似方法解决此问题。
main.cpp:16:7: error: no viable overloaded '='
q = {};
~ ^ ~~
main.cpp:19:16: note: in instantiation of member function 'A<int>::f' requested here
template class A<int>;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/stl_queue.h:96:11: note: candidate function (the implicit move assignment operator) not viable: cannot convert initializer list argument to 'std::queue<int,std::deque<int,std::allocator<int> > >'
class queue
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.5.0/../../../../include/c++/5.5.0/bits/stl_queue.h:96:11: note: candidate function (the implicit copy assignment operator) not viable: cannot convert initializer list argument to 'const std::queue<int,std::allocator<int> > >'
1 error generated.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。