Exemple #1
0
        public void RunTests()
        {
            ITestEngine engine = TestEngineActivator.CreateInstance();
            TestSuite mTestSuite = null;
            ITestEventListener listner = null;
            //EventListener li = new NullListener();

            Console.WriteLine("Created amazonSqsClient");
            Console.WriteLine("App Config path:" + AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

            var message = testQueue.Get();
            
            if (message == null)
                return;

            // if count greater than 3 then delete message
            if (int.Parse(message.Attributes["ApproximateReceiveCount"]) > 3)
                testQueue.DeleteMessage(queue.QueueUrl, message.ReceiptHandle);


            var testmodel = JsonConvert.DeserializeObject<TestModel>(message.Body);
            Environment.SetEnvironmentVariable("env.testConfig", JsonConvert.SerializeObject(testmodel.ConfigModel));

            // if test assembly does not exists delete message
            if(File.Exists(testmodel.ConfigModel.TestAssembly))
                testQueue.DeleteMessage(message);

         TestPackage  package = TestPackage(testmodel.ConfigModel.TestAssembly);
            AppConfig.Change(package.FullName + ".config");

            TestPackage package = new TestPackage(testmodel.ConfigModel.TestAssembly);
            mTestSuite = new TestSuiteBuilder().Build(package);

            amazonSqsClient.DeleteMessage(queue.QueueUrl, message.ReceiptHandle);

            Console.WriteLine("-> starting tests ....");
            Console.WriteLine("-> Tests:" + testmodel.ConfigModel.TestAssembly);
            Console.WriteLine("-> Category:" + testmodel.Category);

            ITestFilter testFilter = new CategoryFilter(testmodel.Category);
            ITestRunner runner = engine.GetRunner(package);
            XmlNode result = runner.Run(, testFilter);
            TestResult result = mTestSuite.Run(li, testFilter);

            Thread.Sleep(5000);
        }