Class: TestMap::TestTask
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- TestMap::TestTask
show all
- Defined in:
- lib/test_map/test_task.rb
Overview
TestTask is a rake helper class.
Defined Under Namespace
Classes: MinitestTask, RSpecTask, RailsTestTask, UnknownAdapterError
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(name) ⇒ TestTask
rubocop:disable Lint/MissingSuper
14
15
16
|
# File 'lib/test_map/test_task.rb', line 14
def initialize(name)
@name = name
end
|
Class Method Details
.create(name = :test) ⇒ Object
41
|
# File 'lib/test_map/test_task.rb', line 41
def self.create(name = :test) = new(name).define
|
Instance Method Details
#build_test_task ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/test_map/test_task.rb', line 60
def build_test_task
if defined?(Rails)
return RailsTestTask.new
elsif defined?(Minitest)
require 'minitest/test_task'
return MinitestTask.new
elsif defined?(RSpec)
return RSpecTask.new
end
raise UnknownAdapterError, 'No test task adapter found'
end
|
#define ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/test_map/test_task.rb', line 43
def define
namespace @name do
desc 'Run tests for changed files'
task :changes do
out_file = "#{Dir.pwd}/.test-map.yml"
args = defined?(Rails) ? ENV['TEST']&.split : ARGV[1..]
test_files = Mapping.new(out_file).lookup(*args)
test_task.files = test_files
test_task.call
end
end
end
|
#test_task ⇒ Object
58
|
# File 'lib/test_map/test_task.rb', line 58
def test_task = @test_task ||= build_test_task
|