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); }
/// <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; }