在Win 8 JavaScript应用程序中运行QUnit-Metro,为什么“test”未定义?

时间:2012-08-16 17:29:39

标签: microsoft-metro qunit

我的整个默认页面如下所示。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <title>Readingz</title>

        <!-- WinJS references -->
        <link href="//Microsoft.WinJS.1.0.RC/css/ui-dark.css" rel="stylesheet" />
        <script src="//Microsoft.WinJS.1.0.RC/js/base.js"></script>
        <script src="//Microsoft.WinJS.1.0.RC/js/ui.js"></script>

        <!-- Readingz references -->
        <script src="/js/default.js"></script>
        <script src="/js/default_tests.js"></script>
        <script src="/js/qunitmetro.js"></script>

        <link href="/css/default.css" rel="stylesheet" />
        <link href="/css/qunitmetro-light.css" rel="stylesheet" />

    </head>
    <body>
        <p>Content goes here</p>

        <!-- This is for testing only. It goes away when application is ready to ship. -->
        <div id="qunit"></div>
    </body>
    </html>

我不断收到测试未定义的错误。看起来我在应用程序启动的default.html页面中列出了它。我已经通过Nuget添加了QUnit-Metro,所以我不确定此时是否需要进行其他类型的关联,甚至启用了ReSharper / Visual Studio的intellisense也会将test显示为调用的有效函数。 / p>

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:3)

您的HTML看起来很奇怪;

<script src="/js/default_tests.js"></script>
<script src="/js/qunitmetro.js"></script>

这包括您希望在导入具有所有定义的qunitmetro.js之前测试的脚本。尝试颠倒这两个脚本行,事情应该更好。