diff options
author | bogdanvlviv <bogdanvlviv@gmail.com> | 2018-10-25 19:06:21 +0300 |
---|---|---|
committer | bogdanvlviv <bogdanvlviv@gmail.com> | 2018-10-25 21:29:39 +0300 |
commit | 9d0cf52096dd6f7cb4b153984630eed97dcd8a8c (patch) | |
tree | 009d3e5539acdbf0da3bc08797cbc8442b0e051e /activesupport/test/testing | |
parent | a3dcba42e2422eb9c2e77011a39ce72dc934b420 (diff) | |
download | rails-9d0cf52096dd6f7cb4b153984630eed97dcd8a8c.tar.gz rails-9d0cf52096dd6f7cb4b153984630eed97dcd8a8c.tar.bz2 rails-9d0cf52096dd6f7cb4b153984630eed97dcd8a8c.zip |
`assert_called_with` should require `args` argument
There are two main reasons why `assert_called_with` should require
`args` argument:
1) If we want to assert that some method should be called and we don't
need to check with which arguments it should be called then we should use
`assert_called`.
2) `assert_called_with` without `args` argument doesn't assert anything!
```ruby
assert_called_with(@object, :increment) do
@object.decrement
end
```
It causes false assertions in tests that could cause regressions in the project.
I found this bug by working on
[minitest-mock_expectations](https://github.com/bogdanvlviv/minitest-mock_expectations) gem.
This gem is an extension for minitest that provides almost the same method call
assertions.
I was wondering whether you would consider adding "minitest-mock_expectations"
to `rails/rails` instead of private `ActiveSupport::Testing::MethodCallAssertions` module.
If yes, I'll send a patch - https://github.com/bogdanvlviv/rails/commit/a970ecc42c3a9637947599f2c13e3762e4b59208
Diffstat (limited to 'activesupport/test/testing')
-rw-r--r-- | activesupport/test/testing/method_call_assertions_test.rb | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/activesupport/test/testing/method_call_assertions_test.rb b/activesupport/test/testing/method_call_assertions_test.rb index 7438a0490e..669463bd31 100644 --- a/activesupport/test/testing/method_call_assertions_test.rb +++ b/activesupport/test/testing/method_call_assertions_test.rb @@ -60,12 +60,6 @@ class MethodCallAssertionsTest < ActiveSupport::TestCase assert_match(/dang it.\nExpected increment/, error.message) end - def test_assert_called_with - assert_called_with(@object, :increment) do - @object.increment - end - end - def test_assert_called_with_arguments assert_called_with(@object, :<<, [ 2 ]) do @object << 2 @@ -88,12 +82,6 @@ class MethodCallAssertionsTest < ActiveSupport::TestCase end end - def test_assert_called_with_returns - assert_called_with(@object, :increment, returns: 1) do - @object.increment - end - end - def test_assert_called_with_multiple_expected_arguments assert_called_with(@object, :<<, [ [ 1 ], [ 2 ] ]) do @object << 1 |