在webpack构建之后karma没有找到任何spec文件

时间:2018-04-06 09:47:13

标签: javascript angularjs jasmine karma-runner

我使用下面的karma.config.js测试角度5应用程序:
输出显示规范文件由webpack构建。 但他们没有被处决。

执行0 0错误(0.014秒/ 0秒)

Built at: 2018-4-6 11:41:27
                                                Asset      Size                                                 Chunks             Chunk Names
wwwroot/ts/app/modules/party/ContactComponent.spec.ts  2.36 MiB  wwwroot/ts/app/modules/party/ContactComponent.spec.ts  [emitted]  wwwroot/ts/app/modules/party/ContactComponent.spec.ts
                            wwwroot/ts/sanity.spec.ts   841 KiB                              wwwroot/ts/sanity.spec.ts  [emitted]  wwwroot/ts/sanity.spec.ts
Entrypoint wwwroot/ts/app/modules/party/ContactComponent.spec.ts = wwwroot/ts/app/modules/party/ContactComponent.spec.ts
Entrypoint wwwroot/ts/sanity.spec.ts = wwwroot/ts/sanity.spec.ts
[./node_modules/@angular/core/esm5/core.js] 613 KiB {wwwroot/ts/sanity.spec.ts} {wwwroot/ts/app/modules/party/ContactComponent.spec.ts} [built] [2 warnings]
[./node_modules/@angular/core/esm5/testing.js] 48.6 KiB {wwwroot/ts/sanity.spec.ts} {wwwroot/ts/app/modules/party/ContactComponent.spec.ts}

所以似乎所有(2个)spec文件都在构建,但它们似乎没有加载到业力中。

06 04 2018 11:41:28.195:INFO [launcher]: Starting browser Chrome
06 04 2018 11:41:31.277:INFO [Chrome 65.0.3325 (Windows 10.0.0)]: Connected on socket hJfXueGxaOTtJn4SAAAA with id 21418556    
Chrome 65.0.3325 (Windows 10.0.0): Executed 0 of 0 ERROR (0.014 secs / 0 secs)

作为参考我的karma.config.js如下。

module.exports = function (config) {
    config.set({
        basePath: "",
        frameworks: ["jasmine"],
        plugins: [
            require("karma-jasmine"),
            require("karma-chrome-launcher"),
            require("karma-jasmine-html-reporter"),
            require("karma-spec-reporter"),
            require("karma-webpack")
        ],
        files: [
    "./base.spec.ts",
    "./wwwroot/**/*.spec.*"
        ],
        webpack: {
            mode: "development",
            module: {
                rules: [
                    {
                        test: /\.ts$/,
                        use: ["ts-loader"],
                        exclude: /(node_modules)/
                    },
                    {
                        test: require.resolve("jquery"),
                        use: [
                           { loader: "expose-loader", options: "jQuery" },
                           { loader: "expose-loader", options: "$" }
                        ]
                    }
                ]
            },
            resolve:
                {
                    extensions: [".ts", ".js", ".json"],
                    alias: {
                        typeahead: "typeahead.js"
                    }
                },
        },
        preprocessors: {
            "./base.spec.ts": ["webpack"],
            "./wwwroot/**/*.spec.*": ["webpack"]
        },
        reporters: ["kjhtml", "spec"],
        port: 9876,
        colors: true,
        autoWatch: true,
        browsers: ["Chrome"],
        singleRun: false
    });
};

1 个答案:

答案 0 :(得分:1)

在karma配置中设置mime类型将使测试运行。

mime: {
  "text/x-typescript": ["ts"]
},