Example #1
0
        private IRun CreateSequence(Type t)
        {
            SequenceRun seq = new SequenceRun();

            object[] extensions = t.GetCustomAttributes(typeof(TestFixtureExtensionAttribute), true);

            // Before Setup (extensions)
            foreach (TestFixtureExtensionAttribute extension in extensions)
            {
                extension.AddBeforeSetupRuns(seq.Runs);
            }

            // Setup
            seq.Runs.Add(setupRun);

            // Tests
            ParallelRun tests = new ParallelRun();

            seq.Runs.Add(tests);

            foreach (IRun testRun in testRuns)
            {
                tests.Runs.Add(testRun);
            }

            // Tests (extensions)
            foreach (TestFixtureExtensionAttribute extension in extensions)
            {
                extension.AddTestRuns(tests.Runs);
            }

            // TearDown
            seq.Runs.Add(tearDownRun);

            // After TearDown (extensions)
            foreach (TestFixtureExtensionAttribute extension in extensions)
            {
                extension.AddAfterTearDownRuns(seq.Runs);
            }

            return(seq);
        }
Example #2
0
        /// <summary>
        /// Gets the test runner class defining all the tests to be run and the test logic to be used within the tagged fixture class.
        /// </summary>
        /// <returns>A <see cref="SequenceRun"/> object</returns>
        public override IRun GetRun() {
            SequenceRun runs = new SequenceRun();

            // creating parallel
            ParallelRun para = new ParallelRun();
            para.AllowEmpty = false;
            runs.Runs.Add(para);

            // method providers
            MethodRun provider = new MethodRun(
                                               typeof(ProviderAttribute),
                                               typeof(ArgumentFeederRunInvoker),
                                               false,
                                               true
                                               );
            para.Runs.Add(provider);

            // fixture class provider
            FixtureDecoratorRun providerFactory = new FixtureDecoratorRun(
                typeof(ProviderFixtureDecoratorPatternAttribute)
                );
            para.Runs.Add(providerFactory);

            // setup
            OptionalMethodRun setup = new OptionalMethodRun(typeof(SetUpAttribute), false);
            runs.Runs.Add(setup);

            // tests
            MethodRun test = new MethodRun(typeof(TestPatternAttribute), true, true);
            runs.Runs.Add(test);

            // tear down
            OptionalMethodRun tearDown = new OptionalMethodRun(typeof(TearDownAttribute), false);
            runs.Runs.Add(tearDown);

            return runs;
        }
        private IRun CreateSequence(Type t)
        {
            SequenceRun seq = new SequenceRun();
            object[] extensions = t.GetCustomAttributes(typeof(TestFixtureExtensionAttribute), true);

            // Before Setup (extensions)
            foreach (TestFixtureExtensionAttribute extension in extensions)
                extension.AddBeforeSetupRuns(seq.Runs);

            // Setup
            seq.Runs.Add(setupRun);

            // Tests
            ParallelRun tests = new ParallelRun();
            seq.Runs.Add(tests);

            foreach (IRun testRun in testRuns)
                tests.Runs.Add(testRun);

            // Tests (extensions)
            foreach (TestFixtureExtensionAttribute extension in extensions)
                extension.AddTestRuns(tests.Runs);

            // TearDown
            seq.Runs.Add(tearDownRun);

            // After TearDown (extensions)
            foreach (TestFixtureExtensionAttribute extension in extensions)
                extension.AddAfterTearDownRuns(seq.Runs);

            return seq;
        }