如何配置一堆KarmaJS + JasmineJS + SystemJS?

时间:2016-02-26 18:53:13

标签: javascript jasmine karma-runner commonjs systemjs

项目树 -

/
    src/
        first-test.ts
    dest_es6/
        first-test.js
    spec/
        first-testSpec.js (import firstTest from 'first-test')

ts编译为es6,我在es6中编写测试。 karma.conf.js

module.exports = function (config) {
    config.set({
        hostname: 'localhost',
        basePath: '',
        frameworks: [
            'systemjs',
            'jasmine'
        ],

        plugins: [
            'karma-chrome-launcher',
            'karma-systemjs',
            'karma-jasmine'
        ],

        systemjs: {
            configFile: './system.conf.js',
            serveFiles: [
                './spec/**/*Spec.js',
                './dest_es6/**/*.js'
            ],
            config: {
                transpiler: "traceur",
                paths: {
                    'traceur': '/node_modules/traceur/bin/traceur-runtime.js',
                    'es6-module-loader': '/node_modules/es6-module-loader/dist/es6-module-loader.js',
                    'systemjs': '/node_modules/systemjs/dist/system.js',
                }
            }
        },

        exclude: [],
        //files: [],
        //preprocessors: {},
        reporters: ['progress'],
        port: 8080,
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: true,
        browsers: ['Chrome'],
        singleRun: false,
        concurrency: Infinity
    })
};

system.conf.js

System.config({
    "babelOptions": {
        "optional": [
            "runtime"
        ]
    },
    map: {
        'first-test': '/dest_es6/first-test.js'
    }
});

/spec/first-testSpec.js

import firstTest from 'first-test';

describe('# karma first test', function () {
    it('my first test is ...', function () {
        expect(firstTest()).toBe(true);
    });
});

/dest_es6/first-test.js

export default function firstTest(){
    return true;
}

已经尝试过在Google发现的十几种方法,但遗憾的是我没有。 解释或提供指导如何最好地设置测试的链接。

哦,是的,差点忘了,这是启动时在控制台中显示的内容 -

  

ivan @ pc:〜/ server / typescript-empty $ ./node_modules/.bin/karma start 26   02 2016 22:05:30.729:WARN [业力]:没有捕获的浏览器,打开   http://localhost:8080/ 26 02 2016 22:05:30.768:INFO [业力]:业力   v0.13.21服务器于http://localhost:8080/ 2016年2月26日开始   22:05:30.789:INFO [启动器]:启动浏览器Chrome 26 02 2016   22:05:34.002:INFO [Chrome 48.0.2564(Linux 0.0.0)]:已连接   socket /#Vj-u3Y6v9k6KK0gbAAAA,id为9066564 Chrome 48.0.2564(Linux   0.0.0):执行0 0 ERROR(0.034秒/ 0秒)

0 个答案:

没有答案