org.scalatest.junit

trait AssertionsForJUnit

[source: org/scalatest/junit/AssertionsForJUnit.scala]

trait AssertionsForJUnit
extends Assertions
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:

 import junit.framework.TestCase
 import org.scalatest.junit.AssertionsForJUnit

 class MyTestCase extends TestCase with AssertionsForJUnit {

   def testSomething() {
     assert("hi".charAt(1) === 'i')
   }

   // ...
 }
 

You can alternatively import the methods defined in this trait.

 import junit.framework.TestCase
 import org.scalatest.junit.AssertionsForJUnit._

 class MyTestCase extends TestCase {

   def testSomething() {
     assert("hi".charAt(1) === 'i')
   }

   // ...
 }
 

For details on the importing approach, see the documentation for the AssertionsForJUnit companion object. For the details on the AssertionsForJUnit syntax, see the Scaladoc documentation for org.scalatest.Assertions

Author
Bill Venners
Direct Known Subclasses:
AssertionsForJUnit, JUnit3Suite, JUnitSuite, ShouldMatchersForJUnit, MustMatchersForJUnit

Methods inherited from Assertions
assert, assert, assert, assert, convertToEqualizer, intercept, expect, expect, fail, fail, fail, fail
Methods inherited from AnyRef
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf

Copyright (C) 2001-2009 Artima, Inc. All rights reserved.