
Security News
ECMAScript 2025 Finalized with Iterator Helpers, Set Methods, RegExp.escape, and More
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Add this line to your application's Gemfile:
gem 'rspec-power_assert'
And then execute:
$ bundle
Or install it yourself as:
$ gem install rspec-power_assert
First, add require option to .rspec
-r rspec-power_assert
Use ExampleGroup.it_is_asserted_by
or ExampleGroup#is_asserted_by
describe Object do
it_is_asserted_by { a == b }
it do
is_asserted_by { a == b }
end
end
RSpec::PowerAssert.verbose_successful_report = true
If it set true, Successful Example reports with power_assert
outputs.
If it set false, Successful Example reports without power_assert
outputs.
Default is true.
# enable `assert` method in Example block
RSpec::PowerAssert.example_assertion_alias :assert
# enable `assert` method in ExampleGroup block
RSpec::PowerAssert.example_group_assertion_alias :assert
describe RSpec::PowerAssert do
describe Array do
describe "#map" do
let(:array) { [1, 2, 3] }
subject { %w(a b c) }
before do
@array = [1, 2, 3]
end
it do
is_asserted_by { subject.map(&:upcase) == array }
end
it do
is_asserted_by {
subject.map(&:upcase) == array
}
end
it do
is_asserted_by { subject.map(&:upcase) == %w(A B C) }
end
it do
is_asserted_by {
subject.map(&:upcase) == %w(A B C)
}
end
it do
upcased = subject.map(&:upcase)
upcased.pop
is_asserted_by { upcased == @array }
end
it "should transform array" do
is_expected.to eq %w(a b c)
is_asserted_by { subject.map(&:upcase) == %w(A B C) }
end
it "should transform array (failed)" do
is_asserted_by { subject.map(&:upcase) == %w(A B) }
end
it_is_asserted_by { subject.map(&:upcase) == %w(A B C) }
it_is_asserted_by { subject.map(&:upcase) == %w(A B) }
it_is_asserted_by do
subject.map(&:upcase) == %w(A B C)
end
it_is_asserted_by "succ each element" do
subject.map(&:succ) == ["b", "c", "e"] + @array
end
end
end
end
RSpec::PowerAssert
Array
#map
example at ./spec/rspec/power_assert_spec.rb:13 (FAILED - 1)
example at ./spec/rspec/power_assert_spec.rb:17 (FAILED - 2)
should
be asserted by { subject.map(&:upcase) == %w(A B C) }
| | |
| | true
| ["A", "B", "C"]
["a", "b", "c"]
should
be asserted by { subject.map(&:upcase) == %w(A B C) }
| | |
| | true
| ["A", "B", "C"]
["a", "b", "c"]
example at ./spec/rspec/power_assert_spec.rb:33 (FAILED - 3)
should transform array
should transform array (failed) (FAILED - 4)
should
be asserted by { subject.map(&:upcase) == %w(A B C) }
| | |
| | true
| ["A", "B", "C"]
["a", "b", "c"]
example at ./spec/rspec/power_assert_spec.rb:50 (FAILED - 5)
should
be asserted by { subject.map(&:upcase) == %w(A B C) }
| | |
| | true
| ["A", "B", "C"]
["a", "b", "c"]
succ each element (FAILED - 6)
Failures:
1) RSpec::PowerAssert Array#map
Failure/Error: is_asserted_by { subject.map(&:upcase) == array }
is_asserted_by { subject.map(&:upcase) == array }
| | | |
| | | [1, 2, 3]
| | false
| ["A", "B", "C"]
["a", "b", "c"]
# ./lib/rspec/power_assert.rb:57:in `handle_result_and_message'
# ./lib/rspec/power_assert.rb:31:in `is_asserted_by'
# ./spec/rspec/power_assert_spec.rb:14:in `block (4 levels) in <top (required)>'
2) RSpec::PowerAssert Array#map
Failure/Error: is_asserted_by {
subject.map(&:upcase) == array
| | | |
| | | [1, 2, 3]
| | false
| ["A", "B", "C"]
["a", "b", "c"]
# ./lib/rspec/power_assert.rb:57:in `handle_result_and_message'
# ./lib/rspec/power_assert.rb:31:in `is_asserted_by'
# ./spec/rspec/power_assert_spec.rb:18:in `block (4 levels) in <top (required)>'
3) RSpec::PowerAssert Array#map
Failure/Error: is_asserted_by { upcased == @array }
is_asserted_by { upcased == @array }
| | |
| | [1, 2, 3]
| false
["A", "B"]
# ./lib/rspec/power_assert.rb:57:in `handle_result_and_message'
# ./lib/rspec/power_assert.rb:31:in `is_asserted_by'
# ./spec/rspec/power_assert_spec.rb:36:in `block (4 levels) in <top (required)>'
4) RSpec::PowerAssert Array#map should transform array (failed)
Failure/Error: is_asserted_by { subject.map(&:upcase) == %w(A B) }
is_asserted_by { subject.map(&:upcase) == %w(A B) }
| | |
| | false
| ["A", "B", "C"]
["a", "b", "c"]
# ./lib/rspec/power_assert.rb:57:in `handle_result_and_message'
# ./lib/rspec/power_assert.rb:31:in `is_asserted_by'
# ./spec/rspec/power_assert_spec.rb:45:in `block (4 levels) in <top (required)>'
5) RSpec::PowerAssert Array#map
Failure/Error: it_is_asserted_by { subject.map(&:upcase) == %w(A B) }
it_is_asserted_by { subject.map(&:upcase) == %w(A B) }
| | |
| | false
| ["A", "B", "C"]
["a", "b", "c"]
# ./lib/rspec/power_assert.rb:57:in `handle_result_and_message'
# ./lib/rspec/power_assert.rb:44:in `evaluate_example'
# ./spec/rspec/power_assert_spec.rb:50:in `block in it_is_asserted_by'
6) RSpec::PowerAssert Array#map succ each element
Failure/Error: it_is_asserted_by "succ each element" do
subject.map(&:succ) == ["b", "c", "e"] + @array
| | | |
| | | [1, 2, 3]
| | false
| ["b", "c", "d"]
["a", "b", "c"]
# ./lib/rspec/power_assert.rb:57:in `handle_result_and_message'
# ./lib/rspec/power_assert.rb:44:in `evaluate_example'
# ./spec/rspec/power_assert_spec.rb:56:in `block in it_is_asserted_by'
Finished in 0.01725 seconds (files took 0.12235 seconds to load)
11 examples, 6 failures
Failed examples:
rspec ./spec/rspec/power_assert_spec.rb:13 # RSpec::PowerAssert Array#map
rspec ./spec/rspec/power_assert_spec.rb:17 # RSpec::PowerAssert Array#map
rspec ./spec/rspec/power_assert_spec.rb:33 # RSpec::PowerAssert Array#map
rspec ./spec/rspec/power_assert_spec.rb:44 # RSpec::PowerAssert Array#map should transform array (failed)
rspec ./spec/rspec/power_assert_spec.rb:50 # RSpec::PowerAssert Array#map
rspec ./spec/rspec/power_assert_spec.rb:56 # RSpec::PowerAssert Array#map succ each element
On RSpec-3.3 or later, support aggregate_failures
(Thanks sue445)
2) RSpec::PowerAssert Array#map When use aggregate_failures should be called be is_asserted_by with 3 times
Got 2 failures from failure aggregation block.
# ./spec/rspec/power_assert_spec.rb:81:in `block (5 levels) in <top (required)>'
2.1) Failure/Error: is_asserted_by { subject.map(&:upcase) == %w(a b c) }
is_asserted_by { subject.map(&:upcase) == %w(a b c) }
| | |
| | false
| ["A", "B", "C"]
["a", "b", "c"]
# ./lib/rspec/power_assert.rb:81:in `handle_result_and_message'
# ./lib/rspec/power_assert.rb:50:in `is_asserted_by'
# ./spec/rspec/power_assert_spec.rb:82:in `block (6 levels) in <top (required)>'
2.2) Failure/Error: is_asserted_by { subject.map(&:upcase) == %w(A B C D) }
is_asserted_by { subject.map(&:upcase) == %w(A B C D) }
| | |
| | false
| ["A", "B", "C"]
["a", "b", "c"]
# ./lib/rspec/power_assert.rb:81:in `handle_result_and_message'
# ./lib/rspec/power_assert.rb:50:in `is_asserted_by'
# ./spec/rspec/power_assert_spec.rb:84:in `block (6 levels) in <top (required)>'
Finished in 0.02937 seconds (files took 0.19416 seconds to load)
2 examples, 2 failures
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)FAQs
Unknown package
We found that rspec-power_assert demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Security News
A new Node.js homepage button linking to paid support for EOL versions has sparked a heated discussion among contributors and the wider community.
Research
North Korean threat actors linked to the Contagious Interview campaign return with 35 new malicious npm packages using a stealthy multi-stage malware loader.