ScalaTest 0.9.5
|
|
org/scalatest/PrivateMethodTester.scala
]
trait
PrivateMethodTester
extends
AnyRefPrivateMethodTester
and
create a PrivateMethod
object, like this:
val decorateToStringValue = PrivateMethod[String]('decorateToStringValue)
The type parameter on PrivateMethod
, in this case String
, is the result type of the private method
you wish to invoke. The symbol passed to the PrivateMethod.apply
factory method, in this
case 'decorateToStringValue
, is the name of the private method to invoke. To test
the private method, use the invokePrivate
operator, like this:
targetObject invokePrivate decorateToStringValue(1)Here,
targetObject
is a variable or singleton object name referring to the object whose
private method you want to test. You pass the arguments to the private method in the parentheses after
the PrivateMethod
object.
The result type of an invokePrivate
operation will be the type parameter of the PrivateMethod
object, thus you need not cast the result to use it. In other words, after creating a PrivateMethod
object, the
syntax to invoke the private method
looks like a regular method invocation, but with the dot (.
) replaced by invokePrivate
.
The private method is invoked dynamically via reflection, so if you have a typo in the method name symbol, specify the wrong result type,
or pass invalid parameters, the invokePrivate
operation will compile, but throw an exception at runtime.Method Summary | |
implicit def
|
anyRefToInvoker
(target : AnyRef) : Invoker
Implicit conversion from
AnyRef to Invoker , used to enable
assertions testing of private methods. |
Methods inherited from AnyRef | |
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized |
Methods inherited from Any | |
==, !=, isInstanceOf, asInstanceOf |
Class Summary | |
class
|
Invocation
[T](val methodName : scala.Symbol, val args : Any*) extends AnyRef
Class whose instances represent an invocation of a private method. Instances of this
class contain the name of the private method (
methodName ) and the arguments
to pass to it during the invocation (args ).
The type parameter, T , is the return type of the private method. |
class
|
Invoker
(target : AnyRef) extends AnyRef
Class used via an implicit conversion to enable private methods to be tested.
|
class
|
PrivateMethod
[T](methodName : scala.Symbol) extends AnyRef
Represent a private method, whose apply method returns an
Invocation object that
records the name of the private method to invoke, and any arguments to pass to it when invoked.
The type parameter, T , is the return type of the private method. |
Object Summary | |
object
|
PrivateMethod
extends AnyRef
Contains a factory method for instantiating
PrivateMethod objects. |
Method Details |
AnyRef
to Invoker
, used to enable
assertions testing of private methods.target -
the target object on which to invoke a private method.NullPointerException -
if target
is null
.
ScalaTest 0.9.5
|
|