以编程方式创建 Karma 服务器时获取测试结果
Getting test results when creating a Karma server programmatically
我正在尝试 运行 从 Node 脚本中并行测试多个 Karma 文件,并了解哪些测试通过或失败。现在我所拥有的是:
const exec = require("child_process").exec;
exec("karma start " + filename, (error, stdout, stderr) => {
// handle errors and test results...
});
上面的代码运行良好,我可以从 stdout 获取有关测试通过或失败的信息。但是,它需要全局安装 Karma 和所有相关的依赖项(记者、浏览器启动器等)。我正在寻找不需要全局安装所有依赖项的解决方案。
我的第一个想法是:
const karma = require("karma");
const server = new karma.Server(config, () => {
// some logic
});
但是,在尝试其他方法时,我无法以编程方式收集测试结果。
使用新的 karma.Server() 时,有什么方法可以让我知道哪些测试通过或失败(最好是错误的堆栈跟踪)?或者,是否有任何其他方法可以执行我的测试并以编程方式获取所需信息,而无需全局安装依赖项?
实际上,将 exec 行更改为这样似乎可以解决问题:
exec("node node_modules/karma/bin/karma start " + filename, (error, stdout, stderr) => {
原来我只需要 运行 本地安装的 Karma 版本而不是全局版本。 :-)
我正在尝试 运行 从 Node 脚本中并行测试多个 Karma 文件,并了解哪些测试通过或失败。现在我所拥有的是:
const exec = require("child_process").exec;
exec("karma start " + filename, (error, stdout, stderr) => {
// handle errors and test results...
});
上面的代码运行良好,我可以从 stdout 获取有关测试通过或失败的信息。但是,它需要全局安装 Karma 和所有相关的依赖项(记者、浏览器启动器等)。我正在寻找不需要全局安装所有依赖项的解决方案。
我的第一个想法是:
const karma = require("karma");
const server = new karma.Server(config, () => {
// some logic
});
但是,在尝试其他方法时,我无法以编程方式收集测试结果。
使用新的 karma.Server() 时,有什么方法可以让我知道哪些测试通过或失败(最好是错误的堆栈跟踪)?或者,是否有任何其他方法可以执行我的测试并以编程方式获取所需信息,而无需全局安装依赖项?
实际上,将 exec 行更改为这样似乎可以解决问题:
exec("node node_modules/karma/bin/karma start " + filename, (error, stdout, stderr) => {
原来我只需要 运行 本地安装的 Karma 版本而不是全局版本。 :-)