/// <summary> /// 中断测试 /// </summary> /// <returns></returns> public bool StopTest() { if (ServerTestInstance != null) { return(ServerTestInstance.Stop()); } else { return(false); } }
/// <summary> /// 开始测试 /// </summary> /// <param name="testName"></param> /// <returns></returns> public bool StartTest(string testName) { try { //判断是否存在正在运行中的测试 lock (IsRunningTestLock) { if (!IsRunningTest) { IsRunningTest = true; } else { return(false); } } //寻找是否有测试用例 if (!Tests.Keys.Contains(testName)) { throw new Exception("Cannot find test named " + testName); } //加载 var testInstance = Tests[testName].Load(); ServerTestInstance = new ServerTestInstance(testInstance, testName, MessageContext); ServerTestInstance.CompleteEvent += (object e) => { lock (IsRunningTestLock) { IsRunningTest = false; } MessageContext.Info("测试已经结束"); MessageContext.SendEvent("TestComplete", new string[] { }); }; Thread t = new Thread(new ThreadStart(ServerTestInstance.Run)); t.Start(); return(true); } catch (Exception ex) { lock (IsRunningTestLock) { IsRunningTest = false; } LogManger.WriteError("Start test failed:" + ex.ToString()); return(false); } }