为什么“[web-server]: 404: /absoluteC” 当 运行 业力

why "[web-server]: 404: /absoluteC" when running karma

我发现了几个类似的问题,但 none 的建议解决了我的问题。基本上他们建议添加一些依赖项(我只使用本机 Web 组件,所以它不适用于我的情况)或检查路径。我仔细检查了一下,路径是100%正确的。我发现警告消息在真实路径之前显示绝对路径有点奇怪。顺便说一句,路径真的是coorect。

完整代码github

Karma.conf.js

module.exports = function(config) {
    config.set({
        frameworks: ["jasmine"],
        files: [
            "../node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js",
            { pattern: "../test/*-test.js", type: "module", included: true }
        ],
        exclude: [],
        preprocessors: {},
        reporters: ["spec"],
        port: 9876,
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: true,
        browsers: ["Chrome"],
        singleRun: true,
        concurrency: Infinity
    });
};

控制台消息

# npm test

> sktscanner-flight-search@0.1.0 test C:\_d\WSs\rapidapi-vanilla-webcomponents\skyscanner-webcomponents
> karma start config/karma.conf.js

06 08 2019 19:22:55.229:INFO [karma-server]: Karma v4.2.0 server started at http://0.0.0.0:9876/
06 08 2019 19:22:55.251:INFO [launcher]: Launching browsers Chrome with concurrency unlimited
06 08 2019 19:22:55.261:INFO [launcher]: Starting browser Chrome
06 08 2019 19:22:58.972:INFO [Chrome 75.0.3770 (Windows 10.0.0)]: Connected on socket xwPc3314bVDtrBgaAAAA with id 78516319
06 08 2019 19:22:59.161:WARN [web-server]: 404: /absoluteC:/_d/WSs/rapidapi-vanilla-webcomponents/skyscanner-webcomponents/public/skyscanner-flight-search/skyscanner-flight-search.js
06 08 2019 19:22:59.165:WARN [web-server]: 404: /absoluteC:/_d/WSs/rapidapi-vanilla-webcomponents/skyscanner-webcomponents/test/test-utils.js

Chrome 75.0.3770 (Windows 10.0.0): Executed 0 of 0 ERROR (0.008 secs / 0 secs)

npm ERR! Test failed.  See above for more details.

单元测试

import { SkyscannerFlightSearch } from "../public/skyscanner-flight-search/skyscanner-flight-search.js";
import { TestUtils } from "./test-utils.js";
describe("simplest test", () => {
    it("first try (using TestUtils)", async() => {
        const { shadowRoot } = await TestUtils.render("skyscanner-flight-search");
        expect(shadowRoot.querySelector("#firstdiv")).toBeTruthy();
    });
});

因为 Karma 默认在端口 9876 上运行,所以它无法深入查看您的项目。相反,它会劫持您的组件并假定所有内容都可以从该端口访问(实际上不是)....

你可以redirect Karma to your "real ports" using this guide