【问题标题】:Getting test results when creating a Karma server programmatically以编程方式创建 Karma 服务器时获取测试结果
【发布时间】:2017-10-27 15:12:17
【问题描述】:

我正在尝试从 Node 脚本中并行运行多个 Karma 测试文件,并了解哪些测试通过或失败。现在我拥有的是这样的:

const exec = require("child_process").exec;
exec("karma start " + filename, (error, stdout, stderr) => {
    // handle errors and test results...
});

上面的代码运行良好,我可以从标准输出中获取测试通过或失败的信息。但是,它需要全局安装 Karma 和所有相关的依赖项(报告器、浏览器启动器等)。我正在寻找一种不需要我全局安装所有依赖项的解决方案。

我的第一个想法是这样的:

const karma = require("karma");
const server = new karma.Server(config, () => {
    // some logic
});

但是,在尝试这种其他方法时,我无法以编程方式收集测试结果。

使用 new karma.Server() 时,有什么方法可以让我知道哪些测试通过或失败(理想情况下,还有错误的堆栈跟踪)?或者,是否有任何其他方式可以执行我的测试并以编程方式获取所需的信息,而无需全局安装依赖项?

【问题讨论】:

    标签: javascript unit-testing karma-runner


    【解决方案1】:

    实际上,将 exec 行更改为此似乎可以解决问题:

    exec("node node_modules/karma/bin/karma start " + filename, (error, stdout, stderr) => {
    

    事实证明,我只需要运行本地安装的 Karma 版本,而不是全局版本。 :-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      相关资源
      最近更新 更多