1

我想使用 grunt 自动运行 jasmine 测试。我以前从来没有这样做过,而且我经常遇到我不明白的错误......我想使用grunt-contrib-jasmineand grunt-template-jasmine-requirejs。我将此添加到我的 grunt 文件中:

jasmine: {
    jasmine_tests: {
        src: 'public/js/app/**/*.js',
        options: {
            specs: 'spec/*Spec.js',
            helpers: 'spec/*Helper.js',
            template: require('grunt-template-jasmine-requirejs'),
            templateOptions: {
                requireConfig: {
                    baseUrl: '',
                    paths: {
                        "i18n": "../libs/require-i18next/require-i18next/i18next",
                        "i18next-builder": "../libs/require-i18next/require-i18next/i18next-builder",
                        "jquery": "../libs/jquery/dist/jquery",
                        ...
                    },
                    shim: {
                        "jquerymobile": ["jquery"],
                        ....
                    }
                }
            }
        }
    }
},

当我运行时,grunt jasmine我得到数百个错误。似乎无法加载单个文件。

运行“jasmine:jasmine_tests”(茉莉花)任务

通过 PhantomJS 测试茉莉花规格

错误:脚本错误:非法路径或脚本错误:['jquery'] at ..........\C:\Users\Garrarufa\Documents\WebstormWorkspace\website3_SpecRunner.html:38 ....... ...\C:\Users\Garrarufa\Documents\WebstormWorkspace\website3.grunt\grunt-contrib-jasmine\require.js:12 v ..........\C:\Users\Garrarufa\Documents \WebstormWorkspace\website3.grunt\grunt-contrib-jasmine\require.js:30 错误:脚本错误:非法路径或脚本错误:['underscore'] at ..........\C:\Users\ Garrarufa\Documents\WebstormWorkspace\website3_SpecRunner.html:38 ..........\C:\Users\Garrarufa\Documents\WebstormWorkspace\website3.grunt\grunt-contrib-jasmine\require.js:12 v 。 .........\C:\Users\Garrarufa\Documents\WebstormWorkspace\website3.grunt\grunt-contrib-jasmine\require.js:30

...

错误:超时:模块加载超时:i18n!locales_unnormalized2,datatables,sortDate...

...

http://requirejs.org/docs/errors.html#timeout at ..........\C:\Users\Garrarufa\Documents\WebstormWorkspace\website3_SpecRunner.html:38 ....... ...\C:\Users\Garrarufa\Documents\WebstormWorkspace\website3.grunt\grunt-contrib-jasmine\require.js:12 v ..........\C:\Users\Garrarufa\Documents \WebstormWorkspace\website3.grunt\grunt-contrib-jasmine\require.js:14 C ..........\C:\Users\Garrarufa\Documents\WebstormWorkspace\website3.grunt\grunt-contrib-jasmine \require.js:14

警告:PhantomJS 超时,可能是由于未完成的异步规范。使用 --force 继续。

由于警告而中止。

我的规范在文件夹.../website3/specs中,我想要测试的 requirejs 模块定义在文件夹中.../webiste3/public/js/app/**。出了什么问题,我必须改变什么?我真的不明白我必须在 gruntfile 和 requireConfig 中定义什么。也许这与它有关?

我的目录结构:

- website3
    - .grunt
        + grunt-contrib-jasmine
    + node_modules
    - public
        - js
            - app
                + collections
                - config
                    > config.js
                + ...
                - views
                    + ...
                    > AddVehicleView.js
                    > ...
        + libs
        > index.html
    + server
    - spec
        + helpers
        - support
            > jasmine.json
        > AddVehicleViewSpec.js
    > .bowerrc
    > ...
    > _SpecRunner.html
    > Gruntfile.js
    > package.json
4

0 回答 0