コード例 #1
0
        private void AddFixture(TestAssembly testAssembly, IFixture fixture)
        {
            List <ITestCase> tests = new List <ITestCase>();

            System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegions();
            try
            {
                foreach (ITestCase test in fixture.CreateTestCases())
                {
                    if (test == null)
                    {
                        continue;
                    }
                    if (!testCaseFilter.Filter(fixture, test))
                    {
                        continue;
                    }
                    ITestCase decoratedTest = DecorateTest(fixture, test);
                    tests.Add(decoratedTest);
                }
                testAssembly.AddFixture(fixture, tests);
            }
            catch (Exception ex)
            {
                BadFixture badFixture = new BadFixture(fixture.Name, ex);
                tests.Clear();
                testAssembly.AddFixture(badFixture, tests);
            }
        }
コード例 #2
0
        private IEnumerable <IFixture> ReflectFixtures(Type fixtureType)
        {
            foreach (TestFixtureAttributeBase fixtureAttribute in fixtureType.GetCustomAttributes(typeof(TestFixtureAttributeBase), true))
            {
                foreach (IFixture fixture in fixtureAttribute.CreateFixtures(fixtureType))
                {
                    if (fixture == null)
                    {
                        continue;
                    }
                    if (!this.FixtureFilter.Filter(fixture))
                    {
                        continue;
                    }

                    BadFixture badFixture = VerifyFixture(fixtureType);
                    if (badFixture != null)
                    {
                        yield return(badFixture);

                        continue;
                    }

                    ReflectSetUpAndTearDown(fixtureType, fixture);
                    ReflectDecorators(fixtureType, fixture);
                    ReflectCategories(fixtureType, fixture);

                    yield return(fixture);
                }
            }
        }
コード例 #3
0
        private void AddFixture(TestAssembly testAssembly, IFixture fixture)
        {
            List<ITestCase> tests = new List<ITestCase>();

            System.Runtime.CompilerServices.RuntimeHelpers.PrepareConstrainedRegions();
            try
            {
                foreach (ITestCase test in fixture.CreateTestCases())
                {
                    if (test == null)
                        continue;
                    if (!testCaseFilter.Filter(fixture,test))
                        continue;
                    ITestCase decoratedTest = DecorateTest(fixture, test);
                    tests.Add(decoratedTest);
                }
                testAssembly.AddFixture(fixture, tests);
            }
            catch (Exception ex)
            {
                BadFixture badFixture = new BadFixture(fixture.Name, ex);
                tests.Clear();
                testAssembly.AddFixture(badFixture, tests);
            }
        }