org.scalatest

class TestRegistrationClosedException

[source: org/scalatest/TestRegistrationClosedException.scala]

class TestRegistrationClosedException(message : java.lang.String, failedCodeStackDepth : Int)
extends StackDepthException
Exception that indicates an action that is only allowed during a suite's test registration phase, such as registering a test to run or ignore, was attempted after registration had already closed.

In suites that register tests as functions, such as FunSuite and Spec, tests are normally registered during construction. Although it is not the usual approach, tests can also be registered after construction by invoking methods that register tests on the already constructed suite so long as run has not been invoked on that suite. As soon as run is invoked for the first time, registration of tests is "closed," meaning that any further attempts to register a test will fail (and result in an instance of this exception class being thrown). This can happen, for example, if an attempt is made to nest tests, such as in a FunSuite:

 test("this test is fine") {
   test("but this nested test is not allowed") {
   }
 }
 

This exception encapsulates information about the stack depth at which the line of code that made this attempt resides, so that information can be presented to the user that makes it quick to find the problem line of code. (In other words, the user need not scan through the stack trace to find the correct filename and line number of the offending code.)

Parameters
testName - the test name that was attempted to be registered after registration had closed
failedCodeStackDepth - the depth in the stack trace of this exception at which the line of code that attempted to register the test after registration had been closed.
Throws
NullPointerException - if testName is null
Author
Bill Venners
Values and Variables inherited from StackDepthException
cause
Values and Variables inherited from StackDepth
failedCodeFileNameAndLineNumberString
Methods inherited from StackDepthException
initCause
Methods inherited from java.lang.Throwable
java.lang.Throwable.getMessage, java.lang.Throwable.getLocalizedMessage, java.lang.Throwable.getCause, java.lang.Throwable.toString, java.lang.Throwable.printStackTrace, java.lang.Throwable.printStackTrace, java.lang.Throwable.printStackTrace, java.lang.Throwable.fillInStackTrace, java.lang.Throwable.getStackTrace, java.lang.Throwable.setStackTrace
Methods inherited from AnyRef
getClass, hashCode, equals, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf

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