Я ищу способ выполнить (в целях модульного тестирования) только фракции сложного состояния -машина. Для этого я оцениваю фреймворк boost :: statechart.
Один из способов, который я рассмотрел, заключался в разработке иерархического конечного автомата, в котором каждое состояние определяется как вложенный конечный автомат, который должен тестироваться отдельно.
Рассмотрим определение 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 >
{
....
}
Возможно ли провести модульное тестирование логики, определенной внутри состояний B, то есть внутренних состояний B1 и B2, без выполнения или даже компиляции логики, определенной для состояния A, включая его внутренние состояния A1 и A2?
Заранее спасибо,
AmirH
Задача ещё не решена.
Других решений пока нет …