public static void Initialize(TestContext context) { // 全 Talker 取得 AllTalkers = ((Product[])Enum.GetValues(typeof(Product))) .Select(p => new Talker(p)) .ToArray(); Assert.IsTrue(AllTalkers.Any()); Assert.IsTrue(AllTalkers.All(t => t != null)); // 一度 Update を走らせる foreach (var talker in AllTalkers) { talker.Update(); } // 操作可能状態の Talker をテスト対象にする TestTalker = AllTalkers.FirstOrDefault(t => t.CanOperate); if (TestTalker == null) { Assert.Inconclusive( AllTalkers.Any(t => t.IsAlive) ? @"操作対象 AITalkEx アプリをアイドル状態にしてください。" : @"操作対象 AITalkEx アプリを1つ以上起動してください。"); } // 実行ファイルパスを取得する var r = TestTalker.GetProcessFilePath(); if (r.Value == null) { Assert.Inconclusive(@"実行ファイルパスを取得できません。" + r.Message); } TestTalkerProcessFilePathCache = r.Value; }
public static void Cleanup() { // Talker を破棄 TestTalker?.Dispose(); }