尝试使用coverband gem,它将显示我的应用程序中涵盖的代码。我按照此链接https://github.com/danmayer/coverband的命令,并使用“rake test”生成覆盖。添加了
require 'simplecov'
SimpleCov.start
在simplecov gem文档中测试/ test_helper.rb和config / application.rb。我的问题是如何获得整个点击的输出并添加我在我的应用程序上的输出?现在我最终得到初始化器和配置的输出,但我需要覆盖控制器,模型和视图的代码。 有人会帮忙吗?
答案 0 :(得分:5)
嘿,我是Coverband的作者。我想帮助确保人们了解Coverband不适用于测试代码覆盖率。为此,您应该只看看Simplecov,它拥有您所需要的一切。 Coverband,提供运行时代码覆盖,这对于查看在生产服务器上执行的代码非常有用。这有助于查找正在维护但未被任何实际用户使用的功能和代码。 Simplecov的用例非常不同。 Coverband使用Simplecov输出格式化器,但除此之外,他们不会共享其他代码或相同的目标。
希望有所帮助。
答案 1 :(得分:0)
您可以尝试将Cucumber与Web驱动程序一起使用。这应该会在覆盖率报告中获得点击次数。如果您需要进行Javascript评估,则需要使用Selenium。
答案 2 :(得分:0)
我设法得到一个正常工作的规范/ spec_helper.rb配置,只需使用$ rspec规范/命令就可以正确执行SimpleCov,这要归功于Github问题的评论,该问题将我发送到此博客条目及其示例spec / spec_helper。 RB。其中包含的所有原因都包含在(非常详细的!)博客条目中。将SampleApp替换为您的应用程序名称
Spork.prefork do
unless ENV['DRB']
require 'simplecov'
SimpleCov.start 'rails'
end
require 'rails/application'
require Rails.root.join("config/application")
ENV["RAILS_ENV"] ||= 'test'
require 'rspec/rails'
require 'rspec/autorun'
RSpec.configure do |config|
config.mock_with :rspec
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = false
config.before :each do
if Capybara.current_driver == :rack_test
DatabaseCleaner.strategy = :transaction
else
DatabaseCleaner.strategy = :truncation
end
DatabaseCleaner.start
end
config.after do
DatabaseCleaner.clean
end
config.infer_base_class_for_anonymous_controllers = false
end
end