Vote #79566
完了Wrong use of refute_includes in tests
0%
説明
The "@refute_includes@ assertion":https://www.rubydoc.info/gems/minitest/5.11.3/Minitest/Assertions#refute_includes-instance_method expects the @collection@ first and the @object@ to test for after. The test in source:/trunk/test/functional/queries_controller_test.rb@17558#L627 uses the @object@ then @collection@ form though.
It seems most of Redmine tests use source:/trunk/test/test_helper.rb@17558#L205 @assert_not_include@ which expects the @object@ then @collection@ form. The following patch corrects this problem:
--- a/test/functional/queries_controller_test.rb
+++ b/test/functional/queries_controller_test.rb
@@ -645,7 +645,7 @@ class QueriesControllerTest < Redmine::ControllerTest
# response includes systemwide visible version
assert_include ["OnlineStore - Systemwide visible version", "7", "open"], json
# response doesn't include non visible version
- refute_includes ["Private child of eCookbook - Private Version of public subproject", "6", "open"], json
+ assert_not_include ["Private child of eCookbook - Private Version of public subproject", "6", "open"], json
end
def test_subproject_filter_time_entries_with_project_id_should_return_filter_values
journals
That makes sense to me.
<pre><code class="ruby">
refute_includes json, ["Private child of eCookbook - Private Version of public subproject", "6", "open"]
</code></pre>
Although the test works with the above code, refute_includes is only used in redmine at three places.
assert_not_include is more familiar.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Committed. Thanks.
--------------------------------------------------------------------------------
Admin Redmine さんが3年以上前に更新
- カテゴリ を Code cleanup/refactoring_30 にセット
- 対象バージョン を 4.0.0_99 にセット