2

複雑な状態マシンの一部のみを (単体テストの目的で) 実行する方法を探しています。そのために、boost::statechart フレームワークを評価しています。

私が考えた方法の 1 つは、階層的なステート マシンを設計することでした。この場合、各ステートはネストされたステート マシンとして定義され、個別にテストする必要があります。

次のコード スニペットの FSM 定義を検討してください。

struct Fsm: boost::statechart::state_machine< Fsm, StateA >
{
  ...
}

struct StatA : boost::simple_state< StateA, Fsm, StateA1 >
{
  ...
}

struct StateB : boost::simple_state< StateB, Fsm, StateB1 >  
{
  ....
}

struct StateA1 : boost::simple_state< StateA1, StateA >
{
  ....
}

struct StateA2 : boost::simple_state< StateA2, StateA >
{
  ....
}

struct StateB1 : boost::simple_state< StateB1, StateB >  
{
  ....
}

struct StateB2 : boost::simple_state< StateB2, StateB >  
{
  ....
}

内部A1およびA2状態を含む状態Aに対して定義されたロジックを実行またはコンパイルせずに、状態B内で定義されたロジック、つまりB1およびB2内部状態を単体テストすることは可能ですか?

前もってありがとう、AmirH

4

0 に答える 0