Module: ArchUnit::Testing
- Defined in:
- lib/archunit/testing.rb,
lib/archunit/testing/color_utils.rb,
lib/archunit/testing/test_result.rb,
lib/archunit/testing/assert_passes.rb,
lib/archunit/testing/rspec_adapter.rb,
lib/archunit/testing/result_factory.rb,
lib/archunit/testing/test_violation.rb,
lib/archunit/testing/minitest_adapter.rb,
lib/archunit/testing/assertion_failure.rb,
lib/archunit/testing/violation_factory.rb,
lib/archunit/testing/layer_violation_formatter.rb,
lib/archunit/testing/slice_violation_formatter.rb,
lib/archunit/testing/metric_violation_formatter.rb
Overview
Violation presentation and test-framework integration.
Defined Under Namespace
Modules: LayerViolationFormatter, MetricViolationFormatter, MinitestAdapter, MinitestAssertions, RSpecAdapter, RSpecMatchers, SliceViolationFormatter Classes: AssertionFailure, ColorUtils, RSpecPassMatcher, ResultFactory, TestResult, TestViolation, ViolationFactory
Class Method Summary collapse
-
.assert_passes(rule, options = nil) ⇒ nil
Raises AssertionFailure when a rule returns violations.
-
.format_violations(violations, color: nil) ⇒ String
Formats structured violations for a terminal or test failure.
-
.result_for(rule, options = nil, expected_to_pass: true) ⇒ TestResult
Converts a rule check into a framework-neutral TestResult.
Class Method Details
.assert_passes(rule, options = nil) ⇒ nil
Raises AssertionFailure when a rule returns violations.
15 16 17 18 19 20 |
# File 'lib/archunit/testing/assert_passes.rb', line 15 def assert_passes(rule, = nil) result = result_for(rule, ) return if result.passed? raise AssertionFailure, result end |
.format_violations(violations, color: nil) ⇒ String
Formats structured violations for a terminal or test failure.
19 20 21 |
# File 'lib/archunit/testing.rb', line 19 def format_violations(violations, color: nil) ResultFactory.from_violations(violations, color:). end |
.result_for(rule, options = nil, expected_to_pass: true) ⇒ TestResult
Converts a rule check into a framework-neutral TestResult.
25 26 27 28 29 30 31 32 |
# File 'lib/archunit/testing.rb', line 25 def result_for(rule, = nil, expected_to_pass: true) unless rule.is_a?(Common::FluentApi::Checkable) raise ArgumentError, 'rule must implement Checkable' end violations = rule.check() ResultFactory.from_violations(violations, expected_to_pass:, rationale: rule.rationale) end |
ArchUnitRuby