Namespace Akka.Remote.TestKit
Classes
CommandLine
Command line argument parser for individual node tests during a MultiNodeSpec.
Parses arguments from GetCommandLineArgs() using the same conventions as canonical Akka.
For example (from the Akka.NodeTestRunner source):
var nodeIndex = CommandLine.GetInt32("multinode.index");
var assemblyName = CommandLine.GetProperty("multinode.test-assembly");
var typeName = CommandLine.GetProperty("multinode.test-class");
var testName = CommandLine.GetProperty("multinode.test-method");
Done
MultiNodeConfig
Configure the role names and participants of the test, including configuration settings
MultiNodeSpec
Note: To be able to run tests with everything ignored or excluded by tags
you must not use testconductor
, or helper methods that use testconductor
,
from the constructor of your test class. Otherwise the controller node might
be shutdown before other nodes have completed and you will see errors like:
AskTimeoutException: sending to terminated ref breaks promises
. Using lazy
val is fine.
RoleName
TestConductor
The conductor is the one orchestrating the test: it governs the Akka.Remote.TestKit.Controller's ports to which all Players connect, it issues commands to their FailureInjectorTransportAdapter and provides support for barriers using the Akka.Remote.TestKit.BarrierCoordinator. All of this is bundled inside the TestConductor
TestConductorExtension
Access to the TestConductor extension:
{{{ var tc = TestConductor(system) tc.StartController(numPlayers) OR tc.StartClient(conductorPort) }}}
TestConductorSettings
Settings used to operate the TestConductor.
Interfaces
IMultiNodeSpecCallbacks
Use this to hook MultiNodeSpec into your test framework lifecycle