如何为浏览器制作符合Karma标准的测试工具?
问题描述:
我的猜测是,卡玛试验跑步者没有挂在摩卡和茉莉花身上,而是相反。如何为浏览器制作符合Karma标准的测试工具?
所以我想摩卡和茉莉花调用是这样的:
window.__karma__.testCasePassed(data);
window.__karma__.testCaseFailed(data);
,然后将噶报告这些事件。
我在写Suman,我想弄清楚我是否可以让Suman Karma符合标准。
但是,当我查看Mocha和Jasmine代码库时,我没有看到我期待的证据。
答
你不会在摩卡或茉莉花本身的代码中找到任何东西,因为他们对卡尔玛一无所知。当你在Karma使用Mocha和Jasmine时,你必须使用karma-mocha
和karma-jasmine
。 这些一方面是摩卡和茉莉花的包装,另一方面是噶玛。
如果你看看karma-mocha
,你会发现它有一个叫做createMochaReporterConstructor
的函数,它创建一个Mocha记者,调用window.__karma__
上的函数。 (你可以看到它叫做here和第一个参数是window.__karma__
。)
有一点关于this page(搜索“噶框架API”得到它)噶框架API文档。尽管这是一个非常简短的描述。如果是我,我会查看karma-mocha
和karma-jasmine
的代码,以更好地了解如何使用它。
Thanks @Louis - 我还没有想到的一件事 - Karma如何知道测试已完成,以及如何知道进程是否应该使用代码0退出。似乎只有一个起始钩子,但没有结束钩子。 –
如API文档中所述:调用'.complete'表示所有测试都已运行。我怀疑Karma决定退出时使用的代码是否为0,具体取决于'.result'传递了哪些数据,必须为每个测试调用它以报告测试是否通过。如果一次调用'.result'指示失败,则退出时使用的代码不是0. – Louis
ahhh很好,非常感谢 - 我在这里看到:https://karma-runner.github.io/1.0/dev/ plugins.html –