Search code examples
mdriven

Setting state of a state machine for test reasons


for the implementation of a unit test I need to setup a specific state of an object. As the state is implemented with a state machine, MDriven rejects the direct assignment of the state value to the attribute.

I could maybe trigger through the complete state machine until I reach the needed state but I assume that there is an easier way to set the state to a specific value that is rather hidden as it normlaly isn't supposed to work that way.

Does anybody know how this could be done?


Solution

  • Yes - read details here https://wiki.mdriven.net/index.php/StateMachineForceMode

    But basically you set the state machine for an attribute into ForceMode - after this you can freely change the state value:

    self.stateMachineForceMode('State'); 
    self.State:='State3';