2017-10-21 91 views
0

我的猜测是,卡玛试验跑步者没有挂在摩卡和茉莉花身上,而是相反。如何为浏览器制作符合Karma标准的测试工具?

所以我想摩卡和茉莉花调用是这样的:

window.__karma__.testCasePassed(data); 
window.__karma__.testCaseFailed(data); 

,然后将噶报告这些事件。

我在写Suman,我想弄清楚我是否可以让Suman Karma符合标准。

但是,当我查看Mocha和Jasmine代码库时,我没有看到我期待的证据。

回答

1

你不会在摩卡或茉莉花本身的代码中找到任何东西,因为他们对卡尔玛一无所知。当你在Karma使用Mocha和Jasmine时,你必须使用karma-mochakarma-jasmine这些一方面是摩卡和茉莉花的包装,另一方面是噶玛。

如果你看看karma-mocha,你会发现它有一个叫做createMochaReporterConstructor的函数,它创建一个Mocha记者,调用window.__karma__上的函数。 (你可以看到它叫做here和第一个参数是window.__karma__。)

有一点关于this page(搜索“噶框架API”得到它)噶框架API文档。尽管这是一个非常简短的描述。如果是我,我会查看karma-mochakarma-jasmine的代码,以更好地了解如何使用它。

+0

Thanks @Louis - 我还没有想到的一件事 - Karma如何知道测试已完成,以及如何知道进程是否应该使用代码0退出。似乎只有一个起始钩子,但没有结束钩子。 –

+1

如API文档中所述:调用'.complete'表示所有测试都已运行。我怀疑Karma决定退出时使用的代码是否为0,具体取决于'.result'传递了哪些数据,必须为每个测试调用它以报告测试是否通过。如果一次调用'.result'指示失败,则退出时使用的代码不是0. – Louis

+0

ahhh很好,非常感谢 - 我在这里看到:https://karma-runner.github.io/1.0/dev/ plugins.html –

相关问题