assert 2.18.0 → 2.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +66 -37
- data/assert.gemspec +4 -3
- data/lib/assert/actual_value.rb +140 -0
- data/lib/assert/assertions.rb +80 -20
- data/lib/assert/context.rb +31 -37
- data/lib/assert/context/let_dsl.rb +13 -0
- data/lib/assert/context/method_missing.rb +19 -0
- data/lib/assert/context/subject_dsl.rb +23 -24
- data/lib/assert/macros/methods.rb +4 -4
- data/lib/assert/result.rb +5 -1
- data/lib/assert/stub.rb +16 -0
- data/lib/assert/suite.rb +7 -10
- data/lib/assert/test.rb +0 -8
- data/lib/assert/version.rb +1 -1
- data/test/helper.rb +23 -25
- data/test/support/factory.rb +15 -0
- data/test/system/stub_tests.rb +332 -333
- data/test/system/test_tests.rb +99 -109
- data/test/unit/actual_value_tests.rb +371 -0
- data/test/unit/assert_tests.rb +111 -43
- data/test/unit/assertions/assert_block_tests.rb +30 -31
- data/test/unit/assertions/assert_changes_tests.rb +97 -0
- data/test/unit/assertions/assert_empty_tests.rb +33 -32
- data/test/unit/assertions/assert_equal_tests.rb +94 -74
- data/test/unit/assertions/assert_file_exists_tests.rb +32 -33
- data/test/unit/assertions/assert_includes_tests.rb +38 -37
- data/test/unit/assertions/assert_instance_of_tests.rb +34 -33
- data/test/unit/assertions/assert_kind_of_tests.rb +34 -33
- data/test/unit/assertions/assert_match_tests.rb +34 -33
- data/test/unit/assertions/assert_nil_tests.rb +30 -31
- data/test/unit/assertions/assert_raises_tests.rb +55 -55
- data/test/unit/assertions/assert_respond_to_tests.rb +36 -35
- data/test/unit/assertions/assert_same_tests.rb +86 -81
- data/test/unit/assertions/assert_true_false_tests.rb +60 -60
- data/test/unit/assertions_tests.rb +26 -24
- data/test/unit/config_helpers_tests.rb +43 -38
- data/test/unit/config_tests.rb +38 -34
- data/test/unit/context/let_dsl_tests.rb +10 -0
- data/test/unit/context/setup_dsl_tests.rb +70 -81
- data/test/unit/context/subject_dsl_tests.rb +15 -43
- data/test/unit/context/suite_dsl_tests.rb +15 -16
- data/test/unit/context/test_dsl_tests.rb +50 -52
- data/test/unit/context_info_tests.rb +23 -15
- data/test/unit/context_tests.rb +184 -179
- data/test/unit/default_runner_tests.rb +2 -5
- data/test/unit/default_suite_tests.rb +57 -53
- data/test/unit/factory_tests.rb +5 -3
- data/test/unit/file_line_tests.rb +33 -35
- data/test/unit/macro_tests.rb +14 -10
- data/test/unit/result_tests.rb +159 -183
- data/test/unit/runner_tests.rb +64 -64
- data/test/unit/suite_tests.rb +56 -59
- data/test/unit/test_tests.rb +118 -139
- data/test/unit/utils_tests.rb +43 -45
- data/test/unit/view_helpers_tests.rb +54 -52
- data/test/unit/view_tests.rb +22 -23
- metadata +29 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9486fb389a6e45657eaf3c79f7c2cfea3e8cd6d9b8593c28597b716f9316c86b
|
4
|
+
data.tar.gz: dea0bd1b5061630fddad2f2feaa43e3faf0e64504bf444599747035b3ca8e40f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6e57f7df5c6b7273a3ccb190ecc77f014fe597fa15fb6cc72f4bdadd77a12066736e9dffc12cc02d4854f7cf92751fe1994d5142ad24c44eb196906eb079d64
|
7
|
+
data.tar.gz: cd2c4c0ef5c647abab8a9aac3340d17219ccd5b9d8eed5df34f47238296187122ee4b0df2c09aa9989e7dc8ddcb5d0529e3c615f539cf22e3e4f5d35a8b81575
|
data/README.md
CHANGED
@@ -9,7 +9,7 @@ require "assert"
|
|
9
9
|
|
10
10
|
class MyTests < Assert::Context
|
11
11
|
test "something" do
|
12
|
-
|
12
|
+
assert_that(1).equals(1)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
```
|
@@ -33,13 +33,13 @@ Running tests in random order, seeded with "56382"
|
|
33
33
|
|
34
34
|
## What Assert is not
|
35
35
|
|
36
|
-
* **RSpec/spec-anything**: define tests using assertion statements
|
37
|
-
* **Unit/Functional/Integration/etc**: Assert is agnostic - you define whatever kinds of tests you like
|
38
|
-
* **Mock/Spec/BDD/etc**: Assert is the framework and there are a variety of 3rd party tools to do such things
|
36
|
+
* **RSpec/spec-anything**: define tests using assertion statements.
|
37
|
+
* **Unit/Functional/Integration/etc**: Assert is agnostic - you define whatever kinds of tests you like and Assert runs them in context.
|
38
|
+
* **Mock/Spec/BDD/etc**: Assert is the framework and there are a variety of 3rd party tools to do such things. Feel free to use whatever you like.
|
39
39
|
|
40
40
|
## Description
|
41
41
|
|
42
|
-
Assert is an assertion
|
42
|
+
Assert is an assertion-style testing framework, meaning you use assertion statements to define your tests and create results. Assert uses class-based contexts so if you want to nest your contexts, use inheritance.
|
43
43
|
|
44
44
|
### Features
|
45
45
|
|
@@ -50,6 +50,7 @@ Assert is an assertion style testing framework, meaning you use assertion statem
|
|
50
50
|
* class-based contexts
|
51
51
|
* multiple before/setup & after/teardown blocks
|
52
52
|
* around blocks
|
53
|
+
* `let` value declarations
|
53
54
|
* full backtrace for errors
|
54
55
|
* optionally pretty print objects in failure descriptions
|
55
56
|
* [stubbing API](https://github.com/redding/assert#stub)
|
@@ -71,58 +72,86 @@ Assert comes with a stubbing API - all it does is replace method calls. In gene
|
|
71
72
|
* no methods are added to `Object` to support stubbing
|
72
73
|
* stubs are auto-unstubbed on test teardown
|
73
74
|
|
74
|
-
**Note**: Assert's stubbing logic has been extracted into a separate gem: [MuchStub](https://github.com/redding/much-stub/#muchstub). However, the main `Assert.{stub|unstub|stub_send|etc}` api is still available (it just proxies MuchStub now).
|
75
|
+
**Note**: Assert's stubbing logic has been extracted into a separate gem: [MuchStub](https://github.com/redding/much-stub/#muchstub). However, the main `Assert.{stub|unstub|stub_send|stub_tap|etc}` api is still available (it just proxies to MuchStub now).
|
75
76
|
|
76
77
|
```ruby
|
77
78
|
myclass = Class.new do
|
78
|
-
def
|
79
|
-
|
79
|
+
def my_method
|
80
|
+
"my_method"
|
81
|
+
end
|
82
|
+
|
83
|
+
def my_value(value)
|
84
|
+
value
|
85
|
+
end
|
80
86
|
end
|
81
|
-
|
87
|
+
my_object = myclass.new
|
82
88
|
|
83
|
-
|
84
|
-
# => "
|
85
|
-
|
89
|
+
my_object.my_method
|
90
|
+
# => "my_method"
|
91
|
+
my_object.my_value(123)
|
86
92
|
# => 123
|
87
|
-
|
93
|
+
my_object.my_value(456)
|
88
94
|
# => 456
|
89
95
|
|
90
|
-
Assert.stub(
|
91
|
-
|
92
|
-
# => StubError: `
|
93
|
-
Assert.stub(
|
94
|
-
|
96
|
+
Assert.stub(my_object, :my_method)
|
97
|
+
my_object.my_method
|
98
|
+
# => StubError: `my_method` not stubbed.
|
99
|
+
Assert.stub(my_object, :my_method){ "stub-meth" }
|
100
|
+
my_object.my_method
|
95
101
|
# => "stub-meth"
|
96
|
-
|
102
|
+
my_object.my_method(123)
|
97
103
|
# => StubError: arity mismatch
|
98
|
-
Assert.stub(
|
104
|
+
Assert.stub(my_object, :my_method).with(123){ "stub-meth" }
|
99
105
|
# => StubError: arity mismatch
|
100
|
-
Assert.stub_send(myobj, :mymeth) # call to the original method post-stub
|
101
|
-
# => "meth"
|
102
106
|
|
103
|
-
|
107
|
+
# Call the original method after it has been stubbed.
|
108
|
+
Assert.stub_send(my_object, :my_method)
|
109
|
+
# => "my_method"
|
110
|
+
|
111
|
+
Assert.stub(my_object, :my_value){ "stub-meth" }
|
104
112
|
# => StubError: arity mismatch
|
105
|
-
Assert.stub(
|
106
|
-
|
113
|
+
Assert.stub(my_object, :my_value).with(123){ |val| val.to_s }
|
114
|
+
my_object.my_value
|
107
115
|
# => StubError: arity mismatch
|
108
|
-
|
116
|
+
my_object.my_value(123)
|
109
117
|
# => "123"
|
110
|
-
|
111
|
-
# => StubError: `
|
112
|
-
|
118
|
+
my_object.my_value(456)
|
119
|
+
# => StubError: `my_value(456)` not stubbed.
|
120
|
+
|
121
|
+
# Call the original method after it has been stubbed.
|
122
|
+
Assert.stub_send(my_object, :my_value, 123)
|
113
123
|
# => 123
|
114
|
-
Assert.stub_send(
|
124
|
+
Assert.stub_send(my_object, :my_value, 456)
|
115
125
|
# => 456
|
116
126
|
|
117
|
-
|
118
|
-
|
127
|
+
# Stub a method while preserving its behavior and return value.
|
128
|
+
my_value_called_with = nil
|
129
|
+
Assert.stub_tap(my_object, :my_value) { |value, *args|
|
130
|
+
my_value_called_with = args
|
131
|
+
Assert.stub(value, :to_s) { "FIREWORKS!" }
|
132
|
+
}
|
133
|
+
value = my_object.my_value(123)
|
134
|
+
# => 123
|
135
|
+
my_value_called_with
|
136
|
+
# => [123]
|
137
|
+
value.to_s
|
138
|
+
# =>"FIREWORKS!"
|
139
|
+
|
140
|
+
# Unstub individual stubs
|
141
|
+
Assert.unstub(my_object, :my_method)
|
142
|
+
Assert.unstub(my_object, :my_value)
|
143
|
+
|
144
|
+
# OR blanket unstub all stubs
|
145
|
+
Assert.unstub!
|
119
146
|
|
120
|
-
|
121
|
-
# => "
|
122
|
-
|
147
|
+
my_object.my_method
|
148
|
+
# => "my_method"
|
149
|
+
my_object.my_value(123)
|
123
150
|
# => 123
|
124
|
-
|
151
|
+
value = my_object.my_value(456)
|
125
152
|
# => 456
|
153
|
+
value.to_s
|
154
|
+
# => "456"
|
126
155
|
```
|
127
156
|
|
128
157
|
## Factory
|
@@ -638,4 +667,4 @@ If submitting a Pull Request, please:
|
|
638
667
|
|
639
668
|
One note: please respect that Assert itself is intended to be the flexible, base-level, framework-type logic that should change little if at all. Pull requests for niche functionality or personal testing philosphy stuff will likely not be accepted.
|
640
669
|
|
641
|
-
If you wish to extend Assert for your niche purpose/desire/philosophy, please do so in
|
670
|
+
If you wish to extend Assert for your niche purpose/desire/philosophy, please do so in its own gem (preferrably named `assert-<whatever>`) that uses Assert as a dependency.
|
data/assert.gemspec
CHANGED
@@ -18,8 +18,9 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
19
|
gem.require_paths = ["lib"]
|
20
20
|
|
21
|
-
gem.required_ruby_version = "~> 2.
|
21
|
+
gem.required_ruby_version = "~> 2.5"
|
22
22
|
|
23
|
-
gem.add_dependency("much-factory",
|
24
|
-
gem.add_dependency("much-
|
23
|
+
gem.add_dependency("much-factory", ["~> 0.1.0"])
|
24
|
+
gem.add_dependency("much-not-given", ["~> 0.1.0"])
|
25
|
+
gem.add_dependency("much-stub", ["~> 0.1.4"])
|
25
26
|
end
|
@@ -0,0 +1,140 @@
|
|
1
|
+
require "much-not-given"
|
2
|
+
require "much-stub"
|
3
|
+
|
4
|
+
module Assert; end
|
5
|
+
class Assert::ActualValue
|
6
|
+
include MuchNotGiven
|
7
|
+
|
8
|
+
def initialize(value = self.class.not_given, context:, &value_block)
|
9
|
+
@value = self.class.given?(value) ? value : value_block
|
10
|
+
@context = context
|
11
|
+
end
|
12
|
+
|
13
|
+
def returns_true(*args)
|
14
|
+
@context.assert_block(*args, &@value)
|
15
|
+
end
|
16
|
+
|
17
|
+
def does_not_return_true(*args)
|
18
|
+
@context.assert_not_block(*args, &@value)
|
19
|
+
end
|
20
|
+
|
21
|
+
def raises(*expected_exceptions)
|
22
|
+
@context.assert_raises(*expected_exceptions, &@value)
|
23
|
+
end
|
24
|
+
|
25
|
+
def does_not_raise(*expected_exceptions)
|
26
|
+
@context.assert_nothing_raised(*expected_exceptions, &@value)
|
27
|
+
end
|
28
|
+
|
29
|
+
def changes(*args)
|
30
|
+
@context.assert_changes(*args, &@value)
|
31
|
+
end
|
32
|
+
|
33
|
+
def does_not_change(*args)
|
34
|
+
@context.assert_not_changes(*args, &@value)
|
35
|
+
end
|
36
|
+
|
37
|
+
def is_a_kind_of(expected_class, *args)
|
38
|
+
@context.assert_kind_of(expected_class, @value, *args)
|
39
|
+
end
|
40
|
+
alias_method :is_kind_of, :is_a_kind_of
|
41
|
+
|
42
|
+
def is_not_a_kind_of(expected_class, *args)
|
43
|
+
@context.assert_not_kind_of(expected_class, @value, *args)
|
44
|
+
end
|
45
|
+
alias_method :is_not_kind_of, :is_not_a_kind_of
|
46
|
+
|
47
|
+
def is_an_instance_of(expected_class, *args)
|
48
|
+
@context.assert_instance_of(expected_class, @value, *args)
|
49
|
+
end
|
50
|
+
alias_method :is_instance_of, :is_an_instance_of
|
51
|
+
|
52
|
+
def is_not_an_instance_of(expected_class, *args)
|
53
|
+
@context.assert_not_instance_of(expected_class, @value, *args)
|
54
|
+
end
|
55
|
+
alias_method :is_not_instance_of, :is_not_an_instance_of
|
56
|
+
|
57
|
+
def responds_to(expected_method_name, *args)
|
58
|
+
@context.assert_responds_to(expected_method_name, @value, *args)
|
59
|
+
end
|
60
|
+
|
61
|
+
def does_not_respond_to(expected_method_name, *args)
|
62
|
+
@context.assert_not_responds_to(expected_method_name, @value, *args)
|
63
|
+
end
|
64
|
+
|
65
|
+
def is_the_same_as(expected_object, *args)
|
66
|
+
@context.assert_same(expected_object, @value, *args)
|
67
|
+
end
|
68
|
+
alias_method :is, :is_the_same_as
|
69
|
+
|
70
|
+
def is_not_the_same_as(expected_object, *args)
|
71
|
+
@context.assert_not_same(expected_object, @value, *args)
|
72
|
+
end
|
73
|
+
alias_method :is_not, :is_not_the_same_as
|
74
|
+
|
75
|
+
def equals(expected_value, *args)
|
76
|
+
@context.assert_equal(expected_value, @value, *args)
|
77
|
+
end
|
78
|
+
alias_method :is_equal_to, :equals
|
79
|
+
|
80
|
+
def does_not_equal(expected_value, *args)
|
81
|
+
@context.assert_not_equal(expected_value, @value, *args)
|
82
|
+
end
|
83
|
+
alias_method :is_not_equal_to, :does_not_equal
|
84
|
+
|
85
|
+
def matches(expected_regex, *args)
|
86
|
+
@context.assert_match(expected_regex, @value, *args)
|
87
|
+
end
|
88
|
+
|
89
|
+
def does_not_match(expected_regex, *args)
|
90
|
+
@context.assert_not_match(expected_regex, @value, *args)
|
91
|
+
end
|
92
|
+
|
93
|
+
def is_empty(*args)
|
94
|
+
@context.assert_empty(@value, *args)
|
95
|
+
end
|
96
|
+
|
97
|
+
def is_not_empty(*args)
|
98
|
+
@context.assert_not_empty(@value, *args)
|
99
|
+
end
|
100
|
+
|
101
|
+
def includes(object, *args)
|
102
|
+
@context.assert_includes(object, @value, *args)
|
103
|
+
end
|
104
|
+
|
105
|
+
def does_not_include(object, *args)
|
106
|
+
@context.assert_not_includes(object, @value, *args)
|
107
|
+
end
|
108
|
+
|
109
|
+
def is_nil(*args)
|
110
|
+
@context.assert_nil(@value, *args)
|
111
|
+
end
|
112
|
+
|
113
|
+
def is_not_nil(*args)
|
114
|
+
@context.assert_not_nil(@value, *args)
|
115
|
+
end
|
116
|
+
|
117
|
+
def is_true(*args)
|
118
|
+
@context.assert_true(@value, *args)
|
119
|
+
end
|
120
|
+
|
121
|
+
def is_not_true(*args)
|
122
|
+
@context.assert_not_true(@value, *args)
|
123
|
+
end
|
124
|
+
|
125
|
+
def is_false(*args)
|
126
|
+
@context.assert_false(@value, *args)
|
127
|
+
end
|
128
|
+
|
129
|
+
def is_not_false(*args)
|
130
|
+
@context.assert_not_false(@value, *args)
|
131
|
+
end
|
132
|
+
|
133
|
+
def is_a_file(*args)
|
134
|
+
@context.assert_file_exists(@value, *args)
|
135
|
+
end
|
136
|
+
|
137
|
+
def is_not_a_file(*args)
|
138
|
+
@context.assert_not_file_exists(@value, *args)
|
139
|
+
end
|
140
|
+
end
|
data/lib/assert/assertions.rb
CHANGED
@@ -2,6 +2,15 @@ require "assert/utils"
|
|
2
2
|
|
3
3
|
module Assert
|
4
4
|
module Assertions
|
5
|
+
IGNORED_ASSERTION_HELPERS =
|
6
|
+
[
|
7
|
+
:assert_throws, :assert_nothing_thrown,
|
8
|
+
:assert_operator, :refute_operator,
|
9
|
+
:assert_in_epsilon, :refute_in_epsilon,
|
10
|
+
:assert_in_delta, :refute_in_delta,
|
11
|
+
:assert_send
|
12
|
+
]
|
13
|
+
|
5
14
|
def assert_block(desc = nil)
|
6
15
|
assert(yield, desc){ "Expected block to return a true value." }
|
7
16
|
end
|
@@ -25,7 +34,7 @@ module Assert
|
|
25
34
|
alias_method :refute_empty, :assert_not_empty
|
26
35
|
|
27
36
|
def assert_equal(exp, act, desc = nil)
|
28
|
-
assert(
|
37
|
+
assert(act == exp, desc) do
|
29
38
|
c = __assert_config__
|
30
39
|
exp_show = Assert::U.show_for_diff(exp, c)
|
31
40
|
act_show = Assert::U.show_for_diff(act, c)
|
@@ -40,7 +49,7 @@ module Assert
|
|
40
49
|
end
|
41
50
|
|
42
51
|
def assert_not_equal(exp, act, desc = nil)
|
43
|
-
assert(
|
52
|
+
assert(act != exp, desc) do
|
44
53
|
c = __assert_config__
|
45
54
|
exp_show = Assert::U.show_for_diff(exp, c)
|
46
55
|
act_show = Assert::U.show_for_diff(act, c)
|
@@ -189,6 +198,75 @@ module Assert
|
|
189
198
|
alias_method :assert_not_raises, :assert_nothing_raised
|
190
199
|
alias_method :assert_not_raise, :assert_nothing_raised
|
191
200
|
|
201
|
+
def assert_changes(
|
202
|
+
ruby_string_to_eval,
|
203
|
+
desc: nil,
|
204
|
+
from: Assert::ActualValue.not_given,
|
205
|
+
to: Assert::ActualValue.not_given,
|
206
|
+
&block
|
207
|
+
)
|
208
|
+
desc_msg = desc ? "#{desc}\n" : ""
|
209
|
+
from_eval = instance_eval(ruby_string_to_eval)
|
210
|
+
if Assert::ActualValue.given?(from)
|
211
|
+
assert_equal(
|
212
|
+
from,
|
213
|
+
from_eval,
|
214
|
+
"#{desc_msg}Expected `#{ruby_string_to_eval}` to change from `#{from.inspect}`."
|
215
|
+
)
|
216
|
+
end
|
217
|
+
|
218
|
+
block.call
|
219
|
+
|
220
|
+
to_eval = instance_eval(ruby_string_to_eval)
|
221
|
+
if Assert::ActualValue.given?(to)
|
222
|
+
assert_equal(
|
223
|
+
to,
|
224
|
+
to_eval,
|
225
|
+
"#{desc_msg}Expected `#{ruby_string_to_eval}` to change to `#{to.inspect}`."
|
226
|
+
)
|
227
|
+
end
|
228
|
+
|
229
|
+
if (
|
230
|
+
Assert::ActualValue.not_given?(from) &&
|
231
|
+
Assert::ActualValue.not_given?(to)
|
232
|
+
)
|
233
|
+
assert_not_equal(
|
234
|
+
from_eval,
|
235
|
+
to_eval,
|
236
|
+
"#{desc_msg}Expected `#{ruby_string_to_eval}` to change; "\
|
237
|
+
"it was `#{from_eval.inspect}` and didn't change."
|
238
|
+
)
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
242
|
+
def assert_not_changes(
|
243
|
+
ruby_string_to_eval,
|
244
|
+
desc: nil,
|
245
|
+
from: Assert::ActualValue.not_given,
|
246
|
+
&block
|
247
|
+
)
|
248
|
+
desc_msg = desc ? "#{desc}\n" : ""
|
249
|
+
from_eval = instance_eval(ruby_string_to_eval)
|
250
|
+
if Assert::ActualValue.given?(from)
|
251
|
+
assert_equal(
|
252
|
+
from,
|
253
|
+
from_eval,
|
254
|
+
"#{desc_msg}Expected `#{ruby_string_to_eval}` to not change from `#{from.inspect}`."
|
255
|
+
)
|
256
|
+
end
|
257
|
+
|
258
|
+
block.call
|
259
|
+
|
260
|
+
to_eval = instance_eval(ruby_string_to_eval)
|
261
|
+
assert_equal(
|
262
|
+
from_eval,
|
263
|
+
to_eval,
|
264
|
+
"#{desc_msg}Expected `#{ruby_string_to_eval}` to not change; "\
|
265
|
+
"it was `#{from_eval.inspect}` and changed to `#{to_eval.inspect}`."
|
266
|
+
)
|
267
|
+
end
|
268
|
+
alias_method :refute_changes, :assert_not_changes
|
269
|
+
|
192
270
|
def assert_respond_to(method, object, desc = nil)
|
193
271
|
assert(object.respond_to?(method), desc) do
|
194
272
|
"Expected #{Assert::U.show(object, __assert_config__)} (#{object.class})"\
|
@@ -244,24 +322,6 @@ module Assert
|
|
244
322
|
end
|
245
323
|
alias_method :refute_same, :assert_not_same
|
246
324
|
|
247
|
-
# ignored assertion helpers
|
248
|
-
|
249
|
-
IGNORED_ASSERTION_HELPERS = [
|
250
|
-
:assert_throws, :assert_nothing_thrown,
|
251
|
-
:assert_operator, :refute_operator,
|
252
|
-
:assert_in_epsilon, :refute_in_epsilon,
|
253
|
-
:assert_in_delta, :refute_in_delta,
|
254
|
-
:assert_send
|
255
|
-
]
|
256
|
-
def method_missing(method, *args, &block)
|
257
|
-
if IGNORED_ASSERTION_HELPERS.include?(method.to_sym)
|
258
|
-
ignore "The assertion `#{method}` is not supported."\
|
259
|
-
" Please use another assertion or the basic `assert`."
|
260
|
-
else
|
261
|
-
super
|
262
|
-
end
|
263
|
-
end
|
264
|
-
|
265
325
|
private
|
266
326
|
|
267
327
|
def __assert_config__
|