A map of configuration data.
A ConfigMap can be populated from the Runner command line via -D
arguments. Runner passes it to many methods where you can use it to configure your
test runs. For example, Runner passed the ConfigMap to:
-
the
applymethod ofReporters viaRunStartingevents -
the
runmethod ofSuite -
the
runNestedSuitesmethod ofSuite -
the
runTestsmethod ofSuite -
the
runTestmethod ofSuite -
the
withFixture(NoArgTest)method ofSuite -
the
withFixture(OneArgTest)method offixture.Suite -
the
beforeEach(TestData)method ofBeforeAndAfterEachTestData -
the
afterEach(TestData)method ofBeforeAndAfterEachTestData
In addition to accessing the ConfigMap in overriden implementations of the above methods, you can also transform
and pass along a modified ConfigMap.
A ConfigMap maps string keys to values of any type, i.e., it is a Map[String, Any].
To get a configuration value in a variable of the actual type of that value, therefore, you'll need to perform an unsafe cast. If
this cast fails, you'll get an exception, which so long as the ConfigMap is used only in tests, will
result in either a failed or canceled test or aborted suite. To give such exceptions nice stack depths and error messages, and to
eliminate the need for using asInstanceOf in your test code, ConfigMap provides three
methods for accessing values at expected types.
The getRequired method returns the value bound to a key cast to a specified type, or throws TestCanceledException
if either the key is not bound or is bound to an incompatible type. Here's an example:
val tempFileName: String = configMap.getRequired[String]("tempFileName")
The getOptional method returns the value bound to a key cast to a specified type, wrapped in a Some,
returns None if the key is not bound, or throws TestCanceledException if the key exists but is
bound to an incompatible type. Here's an example:
val tempFileName: Option[String] = configMap.getOptional[String]("tempFileName")
The getWithDefault method returns the value bound to a key cast to a specified type,
returns a specified default value if the key is not bound, or throws TestCanceledException if the key exists but is
either not bound or is bound to an incompatible type. Here's an example:
val tempFileName: String = configMap.getWithDefault[String]("tempFileName", "tmp.txt")
- Value parameters:
- underlying
an immutable
Mapthat holds the key/value pairs contained in thisConfigMap
- Companion:
- object
Type members
Inherited classlikes
Value members
Concrete methods
Returns the value bound to a key cast to a specified type, wrapped in a Some,
returns None if the key is not bound, or throws TestCanceledException if the key exists but is
bound to an incompatible type. Here's an example:
Returns the value bound to a key cast to a specified type, wrapped in a Some,
returns None if the key is not bound, or throws TestCanceledException if the key exists but is
bound to an incompatible type. Here's an example:
val tempFileName: Option[String] = configMap.getOptional[String]("tempFileName")
- Value parameters:
- classTag
an implicit
ClassTagspecifying the expected type for the desired value- key
the key with which the desired value should be associated
Returns the value bound to a key cast to the specified type V, or throws TestCanceledException
if either the key is not bound or is bound to an incompatible type. Here's an example:
Returns the value bound to a key cast to the specified type V, or throws TestCanceledException
if either the key is not bound or is bound to an incompatible type. Here's an example:
val tempFileName: String = configMap.getRequired[String]("tempFileName")
- Value parameters:
- classTag
an implicit
ClassTagspecifying the expected type for the desired value- key
the key with which the desired value should be associated
Returns the value bound to a key cast to the specified type V,
returns a specified default value if the key is not bound, or throws TestCanceledException if the key exists but is
if either the key is not bound or is bound to an incompatible type. Here's an example:
Returns the value bound to a key cast to the specified type V,
returns a specified default value if the key is not bound, or throws TestCanceledException if the key exists but is
if either the key is not bound or is bound to an incompatible type. Here's an example:
val tempFileName: String = configMap.getWithDefault[String]("tempFileName", "tmp.txt")
- Value parameters:
- classTag
an implicit
ClassTagspecifying the expected type for the desired value- default
a default value to return if the key is not found
- key
the key with which the desired value should be associated
Inherited methods
- Inherited from:
- MapOps
- Inherited from:
- IterableOnceOps
- Inherited from:
- IterableOnceOps
- Inherited from:
- MapOps
- Inherited from:
- IterableOps
- Inherited from:
- IterableOnceOps
- Inherited from:
- IterableOps
- Inherited from:
- MapOps
Deprecated and Inherited methods
- Deprecated
[Since version 2.13.0]Use ++ with an explicit collection argument instead of + with varargs- Inherited from:
- MapOps
- Deprecated
[Since version 2.13.0]Use ++ instead of ++: for collections of type Iterable- Inherited from:
- IterableOps
- Deprecated
[Since version 2.13.0]Use ++ instead of ++: for collections of type Iterable- Inherited from:
- MapOps
- Deprecated
[Since version 2.13.0]Use -- with an explicit collection- Inherited from:
- MapOps
- Deprecated
[Since version 2.13.0]Use foldLeft instead of /:- Inherited from:
- IterableOnceOps
- Deprecated
[Since version 2.13.0]Use foldRight instead of :\\- Inherited from:
- IterableOnceOps
- Deprecated
[Since version 2.13.0]`aggregate` is not relevant for sequential collections. Use `foldLeft(z)(seqop)` instead.- Inherited from:
- IterableOnceOps
- Deprecated
[Since version 2.13.0]Use iterableFactory instead- Inherited from:
- IterableOps
- Deprecated
[Since version 2.13.0]Use `dest ++= coll` instead- Inherited from:
- IterableOnceOps
- Deprecated
[Since version 2.13.0]Use .view.filterKeys(f). A future version will include a strict version of this method (for now, .view.filterKeys(p).toMap).- Inherited from:
- MapOps
- Deprecated
[Since version 2.13.0]Check .knownSize instead of .hasDefiniteSize for more actionable information (see scaladoc for details)- Inherited from:
- IterableOnceOps
- Deprecated
[Since version 2.13.0]Use .view.mapValues(f). A future version will include a strict version of this method (for now, .view.mapValues(f).toMap).- Inherited from:
- MapOps
- Deprecated
[Since version 2.13.0]Use coll instead of repr in a collection implementation, use the collection value itself from the outside- Inherited from:
- IterableOps
- Deprecated
[Since version 2.13.0]Iterable.seq always returns the iterable itself- Inherited from:
- Iterable
- Deprecated
[Since version 2.13.7]toIterable is internal and will be made protected; its name is similar to `toList` or `toSeq`, but it doesn\'t copy non-immutable collections- Inherited from:
- Iterable
- Deprecated
[Since version 2.13.0]Use .iterator instead of .toIterator- Inherited from:
- IterableOnceOps
- Deprecated
[Since version 2.13.0]Use .to(LazyList) instead of .toStream- Inherited from:
- IterableOnceOps
- Deprecated
[Since version 2.13.0]toTraversable is internal and will be made protected; its name is similar to `toList` or `toSeq`, but it doesn\'t copy non-immutable collections- Inherited from:
- IterableOps