如何使用Jasmine测试框架测试onclick事件和ajax调用

时间:2018-10-24 10:24:42

标签: jquery jasmine

我有我的html:

<!DOCTYPE html>
<html>
    <head>
        <title>Writing JavaScript test cases with Jasmine framework - Sibeesh Passion</title>
        <meta charset="utf-8" />
        <link href="Content/themes/base/jquery-ui.min.css" rel="stylesheet" />
        <link href="Content/themes/base/base.css" rel="stylesheet" />
        <script src="Scripts/jquery-3.1.1.min.js"></script>
        <script src="Scripts/jquery-ui-1.12.1.min.js"></script>
        <script src="Scripts/Index.js"></script>
    </head>
<body>
    <button id="ajaxBtn">Call Ajax</button>
    <p class="text">Replace me!!</p>
</body>
</html>

我想用Jasmine测试框架测试我的“ CallAjax”按钮。

我正在将其开发为Visual Studio 2017中的MVC应用程序

我的main.js文件是这样的:

$(document).ready(function () {
    $("#ajaxBtn").click(function () {
        $('.text').text('loading . . .');
        $.ajax({
            type: "GET",
            url: "https://api.meetup.com/2/cities",
            success: function (data) {
            $('.text').text(JSON.stringify(data));
        },
        dataType: 'jsonp'
    });
});
});

最后在我要进行测试的地方测试用例js文件:

describe("Click button for ajax", function () {
    it("handle a click event", function () {
        spyOnEvent('#ajaxBtn', 'click');
        $("#ajaxBtn").trigger("click");
        expect('click').toHaveBeenTriggeredOn('#ajaxBtn');
    });
});

输出错误:

  

消息:ReferenceError:找不到变量:spyOnEvent

我在文档中发现是spyOnEvent的东西。我不明白吗?有人有这个问题吗?

我从github jasmine安装了一个nuget

0 个答案:

没有答案