unic / ScalaWebTest

ScalaWebTest is a library for writing ScalaTest/Selenium based integration tests for web applications. It helps you with your basic setup and provides a new and very efficient approach to testing.
https://scalawebtest.org
Apache License 2.0
29 stars 9 forks source link

Limit the amount of reported misfits #82

Closed DaniRey closed 5 years ago

DaniRey commented 5 years ago

When the amount of misfits crosses a certain limit, somewhere around 5-10, it doesn't help to report all of them.

For example

....
[info]   Misfitting Attribute: [id] in [<div class="gb_q">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_r">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_s">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_t">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_q">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_r">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_s">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_t">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_q">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_r">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_s">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_t">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_q">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_r">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_s">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_t">
[info]   </div>] with value[] didn't equal [content]
[info]   Current document does not match provided gauge:
[info]   <div id="content">
[info]           <blockquote>
[info]             <p>You’re using Play 2.8.0-M1</p>
[info]           </blockquote>
[info]         </div> (Gauge.scala:309)

Isn't very useful. The following should be sufficient

[info]   Too many Misfits, only showing the first 5 of 1016 Misfits!
[info]   Misfitting Attribute: [id] in [<div class="gb_q">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_r">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_s">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_t">
[info]   </div>] with value[] didn't equal [content]
[info]   Misfitting Attribute: [id] in [<div class="gb_q">
[info]   </div>] with value[] didn't equal [content]
[info]  ... 1011 Misfits truncated!
[info]   Current document does not match provided gauge:
[info]   <div id="content">
[info]           <blockquote>
[info]             <p>You’re using Play 2.8.0-M1</p>
[info]           </blockquote>
[info]         </div> (Gauge.scala:309)