首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Selenium/Rails的SimpleCov

使用Selenium/Rails的SimpleCov
EN

Stack Overflow用户
提问于 2012-04-12 10:50:29
回答 1查看 1.1K关注 0票数 4

我们有一套硒测试。我想使用SimpleCov来覆盖这些测试的服务器端覆盖面。首先,这是一种常见的方法吗?我在SimpleCov/Selenium上找不到任何东西。也许SimpleCov通常用于单元/功能测试,而不是集成?

当前的Selenium设置需要启动一个rails服务器,而不是让一套Selenium测试命中它。我需要SimpleCov在rails服务器上运行,然后在套件完成后退出。

非常感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-11 16:50:29

simplecov作者在这里。无论何时启动SimpleCov,它都会将覆盖率分析应用于当前运行的进程。因此,您需要在Rails服务器进程中启动SimpleCov。我建议将SimpleCov设置作为条件添加到Rails应用程序的配置/boot.rb(在最上面),如下所示:

代码语言:javascript
复制
# config/boot.rb
if ENV["SELENIUM"]
  require 'simplecov'
  SimpleCov.start 'rails'
end

在启动Rails测试服务器之前,请设置该环境变量。一旦测试服务器关闭,您现在应该会收到一份覆盖率报告。如果您想要将其移动到另一个目录,以便它不会干扰您的常规(单元/功能)覆盖报告,请检查配置选项。

不过,我不确定boot.rb是不是合适的地方。事实是,SimpleCov需要在你的应用程序中需要任何其他东西之前加载,否则它将无法跟踪这些文件的覆盖范围。您可能需要试验或查看rails引导过程才能找到该位置,但由于捆绑程序设置是boot.rb的一部分(如果我没记错的话……),将上述配置置于Bundler.setup之上应该没问题。

基本上,使用类似的设置,您甚至可以通过在服务器进程中启动simplecov,单击并退出服务器,从而获得本地基于浏览器的手动测试的代码覆盖率,例如,如果您想知道某个操作真正触及应用程序的哪个部分。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10116761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档