メソッドが特定の時間内に応答しなかった場合に失敗とするように設定するには、MaxTime属性を使います。
この指定はミリ秒単位で行います。
[Test, MaxTime(10)] public void MaxTimeTest() { Thread.Sleep (100); }
というように、100msスリープするように指定しておいた場合、
というようにエラーとなります。
ただし、これは「指定された時間内に処理が終了しなかった場合に失敗とする」のであって、「指定した時間で処理を打ち切る」わけではありません。
例えばThread.Sleepの時間を10000(10秒)に指定すると、10秒経過してから「失敗」となります。
なので、無限ループなどの保険には使用できません。
(最初調子に乗ってwhile(true)でテスト書いたら永遠に終わりませんでした)