我正在研究使用capybara-webkit对应用程序进行一些接近真实的测试.这是绝对必要的,因为该应用程序具有非常丰富的基于JS的UI,而Rails部分主要是API调用.
问题是:是否有任何工具可以集成到测试管道中,可以检测Javascript代码并报告其覆盖范围?这里的关键是能够轻松地集成到测试工作流程中(就像rcov / simplecov一样) – 我不喜欢这个想法自己用jscoverage或analogue 🙂
提前谢谢了.
最佳答案 现在已将其添加到JSCover(在trunk中) – JSCover的相关线程为
here.
I managed to get JSCover working in the Rails + Capybara pipeline, but
it did take quite a bit of hacking to get it to work
这些更改现在位于JSCover的主干中,并将成为1.0.5版的一部分.这里有工作示例(包括Selenium IDE记录示例)和文档.
There is some additional work needed to get the branch detection to
work since that uses objects that cannot be easily serialized to JSON
这是执行此操作的函数,用于新代码.
Anyway, the end result works nicely
我同意.这使得JSCover可用于更高级别的工具,这些工具不适用于iFrame或通过这种方法避免的多个窗口.这也意味着代码覆盖率可以通过两个调整添加到现有的Selenium测试中:
>使测试通过JSCover代理运行
>在测试套件的末尾保存覆盖率报告
有关更多信息,请参阅JSCover的文档.包含这些更改的1.0.5版应在几天内发布.