如何检查是否正在使用Karma?

24

我该如何检查我的脚本是否在 Karma 上运行?

当我在 Karma 上时,我尝试了这个:

var path = '';

if (typeof window.karma !== 'undefined') {
  path += 'base/';
} 

alert(typeof window.karma); // undefined

我也试过这个:

var path = '';

if (typeof window.__karma__ !== 'undefined') {
  path += 'base/';
} 

alert(typeof window.__karma__); // still undefined

有什么想法吗?


2
你能发布至少 karma 的配置吗?理论上你的第二次尝试应该可以工作,但如果它没有工作,我猜测配置有问题。 - MarcoL
1
现在它可以与第二个一起工作了,我不明白为什么! - Run
我只是好奇,你为什么需要检查这个? - glepretre
3
也许作者会将加载运行测试的内容作为一个单独的.html页面本地运行,并在其他地方使用Karma。至少我是这样做的:)。把它作为一个本地页面进行调试更容易。http://localhost:9876/debug.html可能会有所帮助。 - shaman.sir
2
看起来第二个变量是你正在寻找的karma-runner github - The Reason
2个回答

1
如果您按照这种方式使用它,它应该能够正常工作。
var path = '';

if ((<any>window).__karma__ !== undefined) {
    path += 'base/';
} 

alert(typeof window.__karma__); // still undefined

2
请勿只发布代码作为答案,还要解释您的代码是如何解决问题的并提供说明。附有解释的答案通常更有帮助、更高质量,也更有可能获得赞同。 - Ran Marciano
谢谢您的评论。我会更加小心。 - ozerhakan

1
Karma具有配置选项,可以包含任何库文件,因此您可以包含自己的特定于测试的JS文件。在您的情况下,可以将一个简单的标志注入全局上下文中,并在某些特定测试中稍后使用它。

https://karma-runner.github.io/6.3/config/files.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接