Karma 启动和拆卸配置

Karma startup and teardown config

当运行 Karma 测试时,我想在测试中启动HTTP 服务器做一些跨源网络请求。有没有一种自然的方法可以在 Karma 测试开始之前启动服务器并在 Karma 退出时关闭服务器。

解决方案是使用new karma.Server():

// @ts-check
const karma = require('karma');
const path = require('path');
const {createEchoServer} = require('./echo-server');

async function run() {
    const configPath = path.join(__dirname, './karma.conf.js');
    const karmaConfig = karma.config.parseConfig(configPath, {});

    const echoServer = await createEchoServer();
    const karmaServer = new karma.Server(karmaConfig, () => {
        echoServer.close();
    });
    karmaServer.start();
}

run();