Module: Ace::TestSupport::Fixtures::TestRunnerMocks
- Defined in:
- lib/ace/test_support/fixtures/test_runner_mocks.rb
Overview
Shared mock fixtures for ace-test-runner testing Used to stub subprocess execution and speed up integration tests
Class Method Summary collapse
-
.mock_failure_status ⇒ Object
Standard failure status object for Open3.capture3.
-
.mock_package_not_found_error(path) ⇒ String
Mock error output for package not found.
-
.mock_profile_output ⇒ String
Mock profile output (slowest tests).
-
.mock_success_output(package: "ace-bundle", test_count: 2, assertion_count: 4) ⇒ String
Standard successful test run output.
-
.mock_success_status ⇒ Object
Standard success status object for Open3.capture3.
-
.mock_unknown_target_error(target) ⇒ String
Mock error output for unknown target.
-
.stub_test_run(output: mock_success_output, success: true) { ... } ⇒ Object
Stub Open3.capture3 for test runner execution.
Class Method Details
.mock_failure_status ⇒ Object
Standard failure status object for Open3.capture3
66 67 68 69 70 71 |
# File 'lib/ace/test_support/fixtures/test_runner_mocks.rb', line 66 def self.mock_failure_status status = Object.new status.define_singleton_method(:success?) { false } status.define_singleton_method(:exitstatus) { 1 } status end |
.mock_package_not_found_error(path) ⇒ String
Mock error output for package not found
48 49 50 51 52 53 |
# File 'lib/ace/test_support/fixtures/test_runner_mocks.rb', line 48 def self.mock_package_not_found_error(path) <<~OUTPUT Error: Package not found: #{path} Directory does not exist or is not a valid package OUTPUT end |
.mock_profile_output ⇒ String
Mock profile output (slowest tests)
27 28 29 30 31 32 33 |
# File 'lib/ace/test_support/fixtures/test_runner_mocks.rb', line 27 def self.mock_profile_output <<~OUTPUT Slowest Tests: ============= OUTPUT end |
.mock_success_output(package: "ace-bundle", test_count: 2, assertion_count: 4) ⇒ String
Standard successful test run output
16 17 18 19 20 21 22 23 |
# File 'lib/ace/test_support/fixtures/test_runner_mocks.rb', line 16 def self.mock_success_output(package: "ace-bundle", test_count: 2, assertion_count: 4) <<~OUTPUT Running tests in #{package} #{"." * test_count} Finished tests in 0.001s #{test_count} tests, #{assertion_count} assertions, 0 failures OUTPUT end |
.mock_success_status ⇒ Object
Standard success status object for Open3.capture3
57 58 59 60 61 62 |
# File 'lib/ace/test_support/fixtures/test_runner_mocks.rb', line 57 def self.mock_success_status status = Object.new status.define_singleton_method(:success?) { true } status.define_singleton_method(:exitstatus) { 0 } status end |
.mock_unknown_target_error(target) ⇒ String
Mock error output for unknown target
38 39 40 41 42 43 |
# File 'lib/ace/test_support/fixtures/test_runner_mocks.rb', line 38 def self.mock_unknown_target_error(target) <<~OUTPUT Error: Unknown target '#{target}' No matching files found for pattern: #{target} OUTPUT end |
.stub_test_run(output: mock_success_output, success: true) { ... } ⇒ Object
Stub Open3.capture3 for test runner execution
77 78 79 80 81 82 |
# File 'lib/ace/test_support/fixtures/test_runner_mocks.rb', line 77 def self.stub_test_run(output: mock_success_output, success: true) status = success ? mock_success_status : mock_failure_status Open3.stub(:capture3, [output, "", status]) do yield end end |