你能用Jasmine测试HTML页面中嵌入的JavaScript / JQuery代码吗?

时间:2011-07-26 11:47:43

标签: javascript jquery testing jasmine

如何使用Jasmine或其他工具测试嵌入在网页中的JavaScript / JQuery,如下例所示?

<html>
<head>
<!-- usual includes --> 
</head>
<body>

    <span id="myspan1"></span>
    <span id="myspan2"></span>

    <script type="text/javascript">

        $(document).ready(function(){

            $('#myspan1').html('something'); 

            $('#myspan1').click(function(){
                $('#myspan1').html('something else');
            }); 

            doStuff();

            function doStuff() { 
                $('#myspan2').html('stuff done');
            }

        }); 

    </script>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

我只是假设您希望确保在合理的时间后在页面上显示“完成的内容”。

describe("My page", function () {
    it("should say stuff done after max 500 ms", function () {
        waits(function () {
            return $('#myspan2').html() == 'stuff done';
        }, 500);
    });
});

http://jsfiddle.net/ahus1/QP2Pk/

通常你会把你的javascript代码放到外部文件中。

然后,您可以设置一个测试页面,其中包含普通页面中的最小元素以及Jasmine。

在这个测试页面中,我终于在页面最终加载时等待运行Jasmine,但无论如何都可以运行。

Br Alexander。