首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jasmin2.0、requirejs、testr --只是一个没有错误的空白页面

Jasmin2.0、requirejs、testr --只是一个没有错误的空白页面
EN

Stack Overflow用户
提问于 2014-05-04 21:20:10
回答 1查看 474关注 0票数 0

似乎有许多帖子在处理Jasmin1.3和Requirejs,但我在2.0上遇到了麻烦。我使用Jasmin2.0进行测试,对AMD的遵从性使用requirejs,在测试中使用testr来模拟我的一些模块。

但是,当我打开页面时,它是空白的,控制台中没有任何内容。

如果这样做更有帮助的话,您可以在https://github.com/nopwd/client上看到完整的项目。

我设置了一个test.html页面:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>NoPwd Testing Rig</title>

        <link type="text/css" rel="stylesheet" href="lib/jasmine/lib/jasmine-core/jasmine.css" />
    </head>
    <body>
        <script language="javascript" type="text/javascript" src="lib/requirejs/require.js"></script>
        <script language="javascript" type="text/javascript" src="lib/testr.js/testr.js"></script>

        <script language="javascript" type="text/javascript">
            testr.config({
                root: './',
                baseUrl: './',
                ignore: ['lodash']
            });

            testr.run('test.js', function() {});
        </script>
    </body>
</html>

我还有一个test.js文件,它是入口点:

代码语言:javascript
复制
require.config({
    paths: {
        // ...
    },
    shim: {
        'jasmine/jasmine': {
            exports: 'window.jasmineRequire'
        },
        'jasmine/jasmine-html': {
            deps: ['jasmine/jasmine'],
            exports: 'window.jasmineRequire'
        },
        'jasmine/boot': {
            deps: ['jasmine/jasmine', 'jasmine/jasmine-html'],
            exports: 'window.jasmineRequire'
        },
        'jasmine-ajax': {
            deps: ['jasmine/jasmine', 'jasmine/boot'],
            exports: 'window.jasmineRequire'
        }
    }
});

require(
    [
        'jasmine/jasmine-html', 'jasmine/boot', 'jasmine-ajax',
        'spec/nopwd-spec', 'spec/hash-spec', 'spec/transport-spec'
    ],
    function() {
        'use strict';
    }
);

我知道,对于以前的茉莉花版本,您必须调用jasmine.getEnv().execute(),但在2.0版本中,情况似乎并非如此。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-05 12:47:08

从本质上讲,问题在于茉莉花将自己附着在window.onload()上。现在,由于已经调用了require(),所以已经使用了window.onload(),因此处理程序永远不会被调用。我发现,答案是在入口点内手动调用window.onload() (对于我来说:test.js)。

有一个很好的例子,这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23461699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档