javascript - Jasmine 错误 - .div 上触发了预期事件 [object Object]

标签 javascript jquery jasmine jasmine-jquery

我正在使用 Jasmine 和 Jasmine-JQuery

我的 Jasmine 代码:

it("comp move resulted in an X", function() {
    var spyEvent = spyOnEvent('.div', 'click');
    $('.div').click();
    expect('click').toHaveBeenTriggeredOn('.div');
    expect(spyEvent).toHaveBeenTriggered();
});

我的 Jasmine 输出:

预期事件 [object Object] 已在 .div 上触发

-和-

.div 上已触发预期事件点击

我几乎逐字复制了 Jasmine-JQuery guide .

尽管文档中的代码几乎相同,但我似乎无法弄清楚为什么我的测试失败。如果有人有任何类似的问题,请查看类似的问题:Error on Jasmine - Expected event click to have been triggered on #DIV_ID 。我没有回答我的问题,但它可能会回答你的问题。

我不确定这是否有助于说明为什么会发生这种情况,但在我的 spec-runner.js 文件和 app.js 文件中,都有这段代码:

console.log($('.div').text());

我的 HTML:

<div id="1" class="div">X</div>

在spec-runner.js中,控制台打印''

在 app.js 中,控制台打印“X”

感谢您的帮助!

最佳答案

看来您还没有正确加载 HTML 设备

下面的测试通过了 jsfiddle如果负载夹具被注释掉,则会复制您的错误。

beforeEach(function() {
    setFixtures('<div id="1" class="div">X</div>');
});


it("comp move resulted in an X", function() {
    var spyEvent = spyOnEvent('.div', 'click');
    $('.div').click();
    expect('click').toHaveBeenTriggeredOn('.div');
    expect(spyEvent).toHaveBeenTriggered();
});

关于javascript - Jasmine 错误 - .div 上触发了预期事件 [object Object],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29953089/

相关文章:

javascript - 如何在滚动后自动更改事件菜单(菜单导航)?

angularjs - 在 VS 2015 中使用 jasmine 和 chutzpah 进行单元测试 typescript

angular - 测试组件元数据

javascript - 监视没有对象的函数

javascript - 绑定(bind)到 foreach 中的单击操作的函数未被调用

javascript - 过滤具有多个条件的数组

javascript - 如何使用jquery在选择列表中选择选项

javascript - 在javascript中获取对象名称

jquery - 使用Google Closure编译器

c# - Javascript regexp.test() .NET 等效项