QUnit 测试:reveal 不是函数

QUnit Testing: reveal is not a function

你好,我是 JavaScript 单元测试的新手,我正在尝试看看是否可以测试一些现有的 JavaScript。

我已经获得了测试亚军,但我收到有关功能的错误。

Test Runner 那里的标记只是为了暂时测试一些东西:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>QUnit Main Test Suite</title>
    <link rel="stylesheet" href="../qunit.css">     
    <script src="../sinon-1.17.3.js"></script>
    <script src="../jquery-2.2.2.min.js"></script>
    <script src="../qunit.js"></script>
    <script src="PreferenceControl.js"></script>  
    <script src="tests.js"></script>        
</head>
<body>
    <div id='MainContentDiv'>
        <div id='PreferenceType'>PreferenceFrequency</div>
        <div id='PreferenceId'>1</div>
        <table id='RadioButtonList'>
          <tbody>
            <tr>
                <td> 
                    <span id='1'>
                        <input id='RadioButtonList_0' type='radio' name='RadioButtonList' value='1'>
                    </span>
                </td>
            </tr>
            <tr>
                <td> 
                    <span id='2'>
                        <input id='RadioButtonList_1' type='radio' name='RadioButtonList' value='2' checked='checked'>
                    </span>
                </td>
            </tr>
            <tr>
                <td> 
                    <span id='3'>
                        <input id='RadioButtonList_2' type='radio' name='RadioButtonList' value='3'>
                    </span>
                </td>
            </tr>
            <tr>
                <td> 
                    <span id='4'>
                        <input id='RadioButtonList_3' type='radio' name='RadioButtonList' value='4'>
                    </span>
                </td>
            </tr>
          </tbody>
        </table>
        <input type="submit" name="SaveButton" id="SaveButton" />
      </div>
      <div id="CheckBoxList"></div>
    <div id="qunit"></div>
    <div id="qunit-fixture">test markup</div>
</body>

下面是它中断的部分:

this.loaderContainer = $('#AjaxLoader', this.mainContentDiv);

if (this.loaderContainer.length == 0) {
    this.loaderContainer = $("<div id=\"AjaxLoader\" class=\"full-width columns alpha omega\">" +
                                "<span class=\"loader\"><img src=\"/Common/CSS/Core/Images/Throbbers/Ajax-Loader.gif\" style=\"display: none\" ></span>" +
                            "</div>");

    this.loaderContainer.appendTo(this.mainContentDiv);
}

this.loaderContainer.reveal({
    animation: 'throbber'
});

这些是我休息的结果:

我不确定如何纠正这个问题,或者我是否可以按照我的方式解决这个问题?任何帮助将不胜感激,提前致谢。

jQuery 没有 reveal() 方法。我不确定你想在那行代码上做什么,但也许你正在寻找带有 easing option specified?

show() 方法

您从 QUnit 看到的错误是 reveal() 函数不存在(因为它不是 jQuery 的一部分)。如果您使用的插件为您提供 reveal() 功能,那么您需要将该 JS 文件包含在您的测试工具中(HTML 文档)。

这是由于缺少对处理 .reveal 方法的另一个库的引用。