mirror of
https://github.com/ditkrg/simplecov-json.git
synced 2026-01-22 13:56:48 +00:00
Merge pull request #3 from vicentllongo/houstonmc
Merge houstonmc/master
This commit is contained in:
commit
d841a16abb
@ -2,48 +2,54 @@ require 'simplecov'
|
||||
require 'json'
|
||||
|
||||
class SimpleCov::Formatter::JSONFormatter
|
||||
|
||||
def format(result)
|
||||
puts result.inspect
|
||||
data = {}
|
||||
data[:timestamp] = result.created_at.to_i
|
||||
data[:command_name] = result.command_name
|
||||
data[:files] = []
|
||||
result.original_result.each do |filename,coverage|
|
||||
result.original_result.each do |filename, coverage|
|
||||
next unless result.filenames.include? filename
|
||||
|
||||
data[:files] << {
|
||||
filename: filename,
|
||||
coverage: coverage,
|
||||
coverage: coverage
|
||||
}
|
||||
end
|
||||
data[:groups] = result.groups
|
||||
data[:metrics] = {
|
||||
covered_percent: result.covered_percent,
|
||||
covered_strength: result.covered_strength,
|
||||
covered_lines: result.covered_lines,
|
||||
total_lines: result.total_lines,
|
||||
total_lines: result.total_lines
|
||||
}
|
||||
File.open(File.join(output_path, output_filename), "w+") do |file|
|
||||
file.puts data.to_json
|
||||
|
||||
json = data.to_json
|
||||
|
||||
File.open(output_filepath, "w+") do |file|
|
||||
file.puts json
|
||||
end
|
||||
|
||||
puts output_message(result)
|
||||
data.to_json
|
||||
|
||||
json
|
||||
end
|
||||
|
||||
|
||||
def output_filename
|
||||
'coverage.json'
|
||||
end
|
||||
|
||||
|
||||
def output_filepath
|
||||
File.join(output_path, output_filename)
|
||||
end
|
||||
|
||||
|
||||
def output_message(result)
|
||||
"Coverage report generated for #{result.command_name} to #{output_filepath}. #{result.covered_lines} / #{result.total_lines} LOC (#{result.covered_percent.round(2)}%) covered."
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
private
|
||||
|
||||
def output_path
|
||||
SimpleCov.coverage_path
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@ -16,6 +16,8 @@ Gem::Specification.new do |s|
|
||||
s.test_files = ['test/helper.rb', 'test/test_simplecov_json.rb']
|
||||
s.require_paths = ["lib"]
|
||||
|
||||
s.add_dependency(%q<simplecov>, [">= 0"])
|
||||
s.add_dependency(%q<json>, [">= 0"])
|
||||
s.add_dependency "simplecov"
|
||||
s.add_dependency "json"
|
||||
|
||||
s.add_development_dependency "rake"
|
||||
end
|
||||
|
||||
@ -4,7 +4,7 @@ require 'simplecov'
|
||||
require 'simplecov-json'
|
||||
|
||||
require 'test/unit'
|
||||
require 'mocha'
|
||||
require 'mocha/setup'
|
||||
|
||||
class Test::Unit::TestCase
|
||||
end
|
||||
|
||||
@ -16,7 +16,6 @@ class TestSimpleCovHtml < Test::Unit::TestCase
|
||||
result.expects(:filenames).returns(['/lib/foo.rb', '/lib/bar.rb'])
|
||||
result.expects(:filenames).returns(['/lib/foo.rb', '/lib/bar.rb'])
|
||||
result.expects(:filenames).returns(['/lib/foo.rb', '/lib/bar.rb'])
|
||||
result.expects(:groups).returns(['controllers', 'models'])
|
||||
result.expects(:covered_percent).returns(73.33)
|
||||
result.expects(:covered_strength).returns(0.87)
|
||||
result.expects(:covered_lines).returns(11)
|
||||
@ -34,7 +33,6 @@ class TestSimpleCovHtml < Test::Unit::TestCase
|
||||
{'filename' => '/lib/foo.rb', 'coverage' => [1, nil, 0, 0, nil, 1, nil]},
|
||||
{'filename' => '/lib/bar.rb', 'coverage' => [nil, 1, nil, 1, 1, 1, 0, 0, nil, 1, nil]},
|
||||
],
|
||||
'groups' =>['controllers', 'models'],
|
||||
'metrics' => {
|
||||
'covered_percent' => 73.33,
|
||||
'covered_strength' => 0.87,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user