- 枚举:当前状态(0->30)
- 枚举:来源(目前只有2个条目)
- 布尔值:请求
- 布尔值:类型
- 枚举:状态(3个状态)
- 枚举:处理(3个状态)
- 布尔值:已完成
[Subject("Application Process States")]
public class When_state_is_meeting2Requested : AppProcessBase
{
Establish context = () =>
{
//Setup....
};
Because of = () => process.Load(jas, vac);
It Current_node_should_be_meeting2Requested = () => process.CurrentNode.ShouldBeOfType<meetingRequestedNode>();
It Can_move_to_clientDeclined = () => Check(process, process.clientDeclined);
It Can_move_to_meeting1Arranged = () => Check(process, process.meeting1Arranged);
It Can_move_to_meeting2Arranged = () => Check(process, process.meeting2Arranged);
It Can_move_to_Reject = () => Check(process, process.Reject);
It Cannot_move_to_any_other_state = () => AllOthersFalse(process);
}
对于每种状态和输入集合,没有人完全确定输出应该是什么。我已开始为此编写测试。但是,我需要编写类似4320个测试用例(30 * 2 * 2 * 2 * 3 * 3 * 2)。
你有针对测试状态机的建议吗?
编辑:我正在尝试所有建议,并将在找到最佳方法时标记答案。