Пример #1
0
        public void EmptyExeFilterAcceptsAll()
        {
            CatchAdapterSettings settings = new CatchAdapterSettings();

            Assert.IsTrue(settings.IncludeTestExe("blaa"));
            Assert.IsTrue(settings.IncludeTestExe("Test.exe"));
        }
Пример #2
0
        public void ExcludeExeFilterRejectsOnlyMatching()
        {
            CatchAdapterSettings settings = new CatchAdapterSettings();

            settings.TestExeExclude.Add("blaa");
            settings.TestExeExclude.Add(@".*\.exe");

            Assert.IsFalse(settings.IncludeTestExe("blaa"));
            Assert.IsFalse(settings.IncludeTestExe("Test.exe"));
            Assert.IsTrue(settings.IncludeTestExe("Hippopotamus"));
        }
Пример #3
0
        public void IncludeExcludeTogether()
        {
            CatchAdapterSettings settings = new CatchAdapterSettings();

            settings.TestExeInclude.Add(@".*\.exe");
            settings.TestExeExclude.Add(@"bl(aa|uu)");

            Assert.IsTrue(settings.IncludeTestExe("Test.exe"));
            Assert.IsFalse(settings.IncludeTestExe("Hippopotamus"));
            Assert.IsFalse(settings.IncludeTestExe("blaa.exe"));
            Assert.IsFalse(settings.IncludeTestExe("bluu.exe"));
            Assert.IsTrue(settings.IncludeTestExe("blii.exe"));
        }
Пример #4
0
        public void DiscoverTests(IEnumerable <string> sources, IDiscoveryContext discoveryContext, IMessageLogger logger, ITestCaseDiscoverySink discoverySink)
        {
            logger.SendMessage(TestMessageLevel.Informational, "Catch Discover in process ...");

            // Load settings from the discovery context.
            CatchAdapterSettings settings = CatchSettingsProvider.LoadSettings(discoveryContext.RunSettings);

            try
            {
                foreach (var src in sources.Where(src => settings.IncludeTestExe(src)))
                {
                    logger.SendMessage(TestMessageLevel.Informational, $"Processing catch test source: '{src}'...");

                    var testCases = CreateTestCases(src);
                    foreach (var t in testCases)
                    {
                        discoverySink.SendTestCase(t);
                        logger.SendMessage(TestMessageLevel.Informational, t.DisplayName);
                    }
                }
            }
            catch (Exception ex)
            {
                // Just log the error message.
                logger.SendMessage(TestMessageLevel.Error, ex.Message);
            }
        }