class TestLauncher::Rubymine::Launcher
Public Class Methods
new(args:, shell:, request:)
click to toggle source
# File lib/test_launcher/rubymine/launcher.rb, line 10 def initialize(args:, shell:, request:) @args = args @shell = shell @request = request end
Public Instance Methods
launch()
click to toggle source
# File lib/test_launcher/rubymine/launcher.rb, line 16 def launch if args.any? {|a| a.match("ruby-debug-ide")} shell.puts "test_launcher: hijacking and debugging" debug_command = ( if args.first.match(/bash/) "cd #{test_case.app_root} && #{args.join(" ")}" else "cd #{test_case.app_root} && bundle exec ruby -I test #{args.join(" ")}" end ) shell.puts debug_command shell.exec debug_command else shell.puts "test_launcher: hijacking and running:" shell.puts command shell.exec command end end
Private Instance Methods
args()
click to toggle source
# File lib/test_launcher/rubymine/launcher.rb, line 70 def args @args end
command()
click to toggle source
# File lib/test_launcher/rubymine/launcher.rb, line 40 def command if test_case.is_example? Frameworks::Minitest::Runner.new.single_example(test_case, exact_match: true) else Frameworks::Minitest::Runner.new.single_file(test_case) end end
request()
click to toggle source
# File lib/test_launcher/rubymine/launcher.rb, line 78 def request @request end
shell()
click to toggle source
# File lib/test_launcher/rubymine/launcher.rb, line 74 def shell @shell end
test_case()
click to toggle source
# File lib/test_launcher/rubymine/launcher.rb, line 48 def test_case @test_case ||= if args[-1].match("--name=") Frameworks::Minitest::TestCase.new( file: args[-2], example: args[-1][%r{--name=#{TEST_NAME_REGEX}}, 1], request: request ) elsif args[-2]&.match("--name") Frameworks::Minitest::TestCase.new( file: args[-3], example: args[-1][TEST_NAME_REGEX, 1], request: request ) else Frameworks::Minitest::TestCase.new( file: args[-1], request: request ) end end