コード例 #1
0
        public void RunTest()
        {
            loader.ReloadOnRun = false;

            LoadTest(assembly);
            loader.RunTest(((TestEventArgs)catcher.Events[3]).Test);
            while (loader.IsTestRunning)
            {
                Thread.Sleep(500);
            }

            Assert.AreEqual(40, catcher.Events.Count);
            Assert.AreEqual(TestAction.RunStarting, ((TestEventArgs)catcher.Events[4]).Action);
            Assert.AreEqual(TestAction.RunFinished, ((TestEventArgs)catcher.Events[39]).Action);

            int nTests = 0;
            int nRun   = 0;

            foreach (object o in catcher.Events)
            {
                TestEventArgs e = o as TestEventArgs;

                if (e != null && e.Action == TestAction.TestFinished)
                {
                    ++nTests;
                    if (e.Result.Executed)
                    {
                        ++nRun;
                    }
                }
            }
            Assert.AreEqual(MockAssembly.Tests, nTests);
            Assert.AreEqual(MockAssembly.Tests - MockAssembly.NotRun, nRun);
        }