Microsoft.SpecExplorer.DynamicTraversal Namespace
The Microsoft.SpecExplorer.DynamicTraversal namespace contains types that support Spec Explorer's dynamic traversal feature.
To create a custom dynamic traversal strategy, create a class that implements the IDynamicTraversal interface. This namespace also defines CallTransitionDelegate, ReturnTransitionDelegate, and EventTransitionDelegate transition delegates. When Spec Explorer initiates dynamic traversal, it calls the RunTestSuite method of the traversal class. To indicate which action invocations to follow during a dynamic traversal test session, the traversal class calls the associated traversal delegates.
The RandomCoverageDynamicTraversal class provides a default dynamic traversal strategy. It traverses the unvisited states using a random order to guarantee the transition coverage.
For more information about dynamic traversal and implementing and using a custom dynamic traversal strategy, see Testing, Test Generation, and Test Code Generation Switches.
Classes
Class | Description |
---|---|
CoverageDynamicTraversal | A coverage dynamic traversal. |
DynamicTraversalBase | An abstract dynamic traversal base class which can be inherited by a customized dynamic traversal. |
DynamicTraversalHelper | |
RandomCoverageDynamicTraversal | A random coverage dynamic traversal. |
Interfaces
Interface | Description |
---|---|
IDynamicTraversal | The interface to describe a dynamic traversal test strategy. |
Delegates
Delegate | Description |
---|---|
CallTransitionDelegate | A delegate to represent a call invoke to SUT |
StateNotificationHandler | Delegate used to handle state reached event. |
StepNotificationHandler | Delegate used to handle step taken event. |
EventTransitionDelegate | A delegate to represent an event check received from SUT. |
ReturnTransitionDelegate | A delegate to represent a return check received from SUT. |
TestHousekeepingHandler | A delegate used for test initialize and test cleanup. |
Enumerations
Enumeration | Description |
---|---|
TestSuiteStatus | The status of executing test suite |