Skip to content
This repository was archived by the owner on Nov 30, 2024. It is now read-only.

Commit 6dbb527

Browse files
committed
Merge pull request #2222 from mrageh/get-failure-message-from-exception-presenter
Get failure message from `exception_presenter`
2 parents 474db03 + 2b29d09 commit 6dbb527

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

lib/rspec/core/formatters/html_formatter.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def example_failed(failure)
7171
exception = failure.exception
7272
exception_details = if exception
7373
{
74-
:message => exception.message,
74+
:message => failure.message_lines.join("\n"),
7575
:backtrace => failure.formatted_backtrace.join("\n")
7676
}
7777
end

spec/rspec/core/formatters/html_formatted.html

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,8 @@ <h1>RSpec Code Examples</h1>
315315
<span class="failed_spec_name">is marked as pending but passes</span>
316316
<span class="duration">n.nnnns</span>
317317
<div class="failure" id="failure_1">
318-
<div class="message"><pre>Expected example to fail since it is pending, but it passed.</pre></div>
318+
<div class="message"><pre>Expected pending &#39;No reason given&#39; to fail. No Error was raised.
319+
Shared Example Group: &quot;shared&quot; called from ./spec/rspec/core/resources/formatter_specs.rb:22</pre></div>
319320
<div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:4</pre></div>
320321
<pre class="ruby"><code><span class="linenum">2</span>
321322
<span class="linenum">3</span><span class="constant">RSpec</span>.shared_examples_for <span class="string"><span class="delimiter">&quot;</span><span class="content">shared</span><span class="delimiter">&quot;</span></span> <span class="keyword">do</span>
@@ -343,12 +344,12 @@ <h1>RSpec Code Examples</h1>
343344
<span class="failed_spec_name">fails</span>
344345
<span class="duration">n.nnnns</span>
345346
<div class="failure" id="failure_2">
346-
<div class="message"><pre>
347-
expected: 2
348-
got: 1
347+
<div class="message"><pre>Failure/Error: expect(1).to eq(2)
349348

350-
(compared using ==)
351-
</pre></div>
349+
expected: 2
350+
got: 1
351+
352+
(compared using ==)</pre></div>
352353
<div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:33:in `block (2 levels) in &lt;top (required)&gt;&#39;</pre></div>
353354
<pre class="ruby"><code><span class="linenum">31</span><span class="constant">RSpec</span>.describe <span class="string"><span class="delimiter">&quot;</span><span class="content">failing spec</span><span class="delimiter">&quot;</span></span> <span class="keyword">do</span>
354355
<span class="linenum">32</span> it <span class="string"><span class="delimiter">&quot;</span><span class="content">fails</span><span class="delimiter">&quot;</span></span> <span class="keyword">do</span>
@@ -369,7 +370,10 @@ <h1>RSpec Code Examples</h1>
369370
<span class="failed_spec_name">fails with a backtrace that has no file</span>
370371
<span class="duration">n.nnnns</span>
371372
<div class="failure" id="failure_3">
372-
<div class="message"><pre>foo</pre></div>
373+
<div class="message"><pre>Failure/Error: ERB.new(&quot;&lt;%= raise &#39;foo&#39; %&gt;&quot;).result
374+
375+
RuntimeError:
376+
foo</pre></div>
373377
<div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:41:in `block (2 levels) in &lt;top (required)&gt;&#39;</pre></div>
374378
<pre class="ruby"><code><span class="linenum">39</span> require <span class="string"><span class="delimiter">'</span><span class="content">erb</span><span class="delimiter">'</span></span>
375379
<span class="linenum">40</span>
@@ -382,7 +386,10 @@ <h1>RSpec Code Examples</h1>
382386
<span class="failed_spec_name">fails with a backtrace containing an erb file</span>
383387
<span class="duration">n.nnnns</span>
384388
<div class="failure" id="failure_4">
385-
<div class="message"><pre>Exception</pre></div>
389+
<div class="message"><pre>Failure/Error: Unable to find /foo.html.erb to read failed line
390+
391+
Exception:
392+
Exception</pre></div>
386393
<div class="backtrace"><pre>/foo.html.erb:1:in `&lt;main&gt;&#39;: foo (RuntimeError)
387394
from /lib/ruby/1.9.1/erb.rb:753:in `eval&#39;
388395

@@ -404,7 +411,10 @@ <h1>RSpec Code Examples</h1>
404411
<span class="failed_spec_name">raises</span>
405412
<span class="duration">n.nnnns</span>
406413
<div class="failure" id="failure_5">
407-
<div class="message"><pre>boom</pre></div>
414+
<div class="message"><pre>Failure/Error: Unable to find matching line from backtrace
415+
416+
RuntimeError:
417+
boom</pre></div>
408418
<div class="backtrace"><pre></pre></div>
409419
<pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for </span></code></pre>
410420
</div>

0 commit comments

Comments
 (0)