Trait that contains ScalaTest's basic assertion methods, suitable for use with JUnit.
The assertion methods provided in this trait look and behave exactly like the ones in
Assertions, except instead of throwing
TestFailedException they throw
JUnitTestFailedError,
which extends junit.framework.AssertionFailedError.
JUnit 3 (release 3.8 and earlier) distinguishes between failures and errors.
If a test fails because of a failed assertion, that is considered a failure. If a test
fails for any other reason, either the test code or the application being tested threw an unexpected
exception, that is considered an error. The way JUnit 3 decides whether an exception represents
a failure or error is that only thrown junit.framework.AssertionFailedErrors are considered
failures. Any other exception type is considered an error. The exception type thrown by the JUnit 3
assertion methods declared in junit.framework.Assert (such as assertEquals,
assertTrue, and fail) is, therefore, AssertionFailedError.
In JUnit 4, AssertionFailedError was made to extend java.lang.AssertionError,
and the distinction between failures and errors was essentially dropped. However, some tools that integrate
with JUnit carry on this distinction, so even if you are using JUnit 4 you may want to use this
AssertionsForJUnit trait instead of plain-old ScalaTest
Assertions.
To use this trait in a JUnit 3 TestCase, you can mix it into your TestCase class, like this:
Trait that contains ScalaTest's basic assertion methods, suitable for use with JUnit.
The assertion methods provided in this trait look and behave exactly like the ones in
Assertions
, except instead of throwingTestFailedException
they throwJUnitTestFailedError
, which extendsjunit.framework.AssertionFailedError
.JUnit 3 (release 3.8 and earlier) distinguishes between failures and errors. If a test fails because of a failed assertion, that is considered a failure. If a test fails for any other reason, either the test code or the application being tested threw an unexpected exception, that is considered an error. The way JUnit 3 decides whether an exception represents a failure or error is that only thrown
junit.framework.AssertionFailedError
s are considered failures. Any other exception type is considered an error. The exception type thrown by the JUnit 3 assertion methods declared injunit.framework.Assert
(such asassertEquals
,assertTrue
, andfail
) is, therefore,AssertionFailedError
.In JUnit 4,
AssertionFailedError
was made to extendjava.lang.AssertionError
, and the distinction between failures and errors was essentially dropped. However, some tools that integrate with JUnit carry on this distinction, so even if you are using JUnit 4 you may want to use thisAssertionsForJUnit
trait instead of plain-old ScalaTestAssertions
.To use this trait in a JUnit 3
TestCase
, you can mix it into yourTestCase
class, like this:You can alternatively import the methods defined in this trait.
For details on the importing approach, see the documentation for the
AssertionsForJUnit
companion object. For the details on theAssertionsForJUnit
syntax, see the Scaladoc documentation fororg.scalatest.Assertions