org.scalatest.junit

trait MustMatchersForJUnit

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

trait MustMatchersForJUnit
extends MustMatchers with AssertionsForJUnit
Trait that makes ScalaTest's MustMatchers DSL syntax available for use with JUnit.

The assertion methods provided in this trait look and behave exactly like the ones in MustMatchers, 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 MustMatchersForJUnit trait instead of plain-old ScalaTest MustMatchers.

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.MustMatchersForJUnit

 class MyTestCase extends TestCase with MustMatchersForJUnit {

   def testSomething() {
     "hello, world!" must startWith ("hello")
   }

   // ...
 }
 

You can alternatively import the methods defined in this trait.

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

 class MyTestCase extends TestCase {

   def testSomething() {
     "hello, world!" must startWith ("hello")
   }

   // ...
 }
 

For details on the importing approach, see the documentation for the MustMatchersForJUnit companion object. For the details on the MustMatchersForJUnit syntax, see the Scaladoc documentation for org.scalatest.matchers.MustMatchers

Author
Bill Venners
Direct Known Subclasses:
MustMatchersForJUnit

Values and Variables inherited from Matchers
not, be, have, contain, include, fullyMatch, startWith, endWith, length, size, key, value, a, an, theSameInstanceAs, regex
Methods inherited from MustMatchers
convertToEvaluatingApplicationMustWrapper, convertToAnyMustWrapper, convertToDoubleMustWrapper, convertToFloatMustWrapper, convertToLongMustWrapper, convertToIntMustWrapper, convertToShortMustWrapper, convertToByteMustWrapper, convertToAnyRefMustWrapper, convertToCollectionMustWrapper, convertToSeqMustWrapper, convertToArrayMustWrapper, convertToListMustWrapper, convertToMapMustWrapper, convertToStringMustWrapper, convertToJavaCollectionMustWrapper, convertToJavaListMustWrapper, convertToJavaMapMustWrapper, convertHasIntGetLengthMethodToLengthMustWrapper, convertHasIntGetLengthFieldToLengthMustWrapper, convertHasIntLengthFieldToLengthMustWrapper, convertHasIntLengthMethodToLengthMustWrapper, convertHasLongGetLengthMethodToLengthMustWrapper, convertHasLongGetLengthFieldToLengthMustWrapper, convertHasLongLengthFieldToLengthMustWrapper, convertHasLongLengthMethodToLengthMustWrapper, convertHasIntGetSizeMethodToSizeMustWrapper, convertHasIntGetSizeFieldToSizeMustWrapper, convertHasIntSizeFieldToSizeMustWrapper, convertHasIntSizeMethodToSizeMustWrapper, convertHasLongGetSizeMethodToSizeMustWrapper, convertHasLongGetSizeFieldToSizeMustWrapper, convertHasLongSizeFieldToSizeMustWrapper, convertHasLongSizeMethodToSizeMustWrapper
Methods inherited from Matchers
convertToMatcherWrapper, convertIterableMatcherToJavaCollectionMatcher, convertMapMatcherToJavaMapMatcher, convertLengthFieldToIntLengthWrapper, convertLengthMethodToIntLengthWrapper, convertGetLengthFieldToIntLengthWrapper, convertGetLengthMethodToIntLengthWrapper, convertLengthFieldToLongLengthWrapper, convertLengthMethodToLongLengthWrapper, convertGetLengthFieldToLongLengthWrapper, convertGetLengthMethodToLongLengthWrapper, convertSizeFieldToIntSizeWrapper, convertSizeMethodToIntSizeWrapper, convertGetSizeFieldToIntSizeWrapper, convertGetSizeMethodToIntSizeWrapper, convertSizeFieldToLongSizeWrapper, convertSizeMethodToLongSizeWrapper, convertGetSizeFieldToLongSizeWrapper, convertGetSizeMethodToLongSizeWrapper, convertSymbolToHavePropertyMatcherGenerator, equal, convertDoubleToPlusOrMinusWrapper, convertFloatToPlusOrMinusWrapper, convertLongToPlusOrMinusWrapper, convertIntToPlusOrMinusWrapper, convertShortToPlusOrMinusWrapper, convertByteToPlusOrMinusWrapper, <, >, <=, >=, ===, evaluating, produce
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-2010 Artima, Inc. All rights reserved.