我试图从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()时,有什么方法可以让我知道哪些测试已通过或失败(理想情况下,错误的堆栈跟踪)?或者,有没有其他方法可以执行我的测试并以编程方式获取所需信息,而无需全局安装依赖项?
答案 0 :(得分:0)
实际上,将exec行改为this似乎可以解决问题:
exec("node node_modules/karma/bin/karma start " + filename, (error, stdout, stderr) => {
事实证明,我只需要运行本地安装的Karma版本而不是全局版本。 : - )