public void RunTestSuite(string filename) { var t = new TestSuiteOverrider(filename); //First retrieve the NUnit TestCases with base class (NBi.NUnit.Runtime) //These NUnit TestCases are defined in the Test Suite file var tests = t.GetTestCases(); //Execute the NUnit TestCases one by one foreach (var testCaseData in tests) t.ExecuteTestCases((TestXml)testCaseData.Arguments[0]); }
public void RunNegativeTestSuiteWithConfig(string filename) { var t = new TestSuiteOverrider(@"Negative\" + filename, @"Negative\" + filename); //First retrieve the NUnit TestCases with base class (NBi.NUnit.Runtime) //These NUnit TestCases are defined in the Test Suite file var tests = t.GetTestCases(); //Execute the NUnit TestCases one by one foreach (var testCaseData in tests) { var testXml = (TestXml)testCaseData.Arguments[0]; try { t.ExecuteTestCases(testXml); Assert.Fail("The test named '{0}' (uid={1}) and defined in '{2}' should have failed but it hasn't." , testXml.Name , testXml.UniqueIdentifier , filename); } catch (CustomStackTraceAssertionException ex) { using (Stream stream = Assembly.GetExecutingAssembly() .GetManifestResourceStream( "NBi.Testing.Acceptance.Resources.Negative." + filename.Replace(".nbits", string.Empty) + "-" + testXml.UniqueIdentifier + ".txt")) { using (StreamReader reader = new StreamReader(stream)) { var expected = reader.ReadToEnd(); //Debug.WriteLine(expected); //Debug.WriteLine(""); Debug.WriteLine(ex.Message); Assert.That(ex.Message, Is.EqualTo(expected)); } Assert.That(ex.StackTrace, Is.Not.Null.Or.Empty); Assert.That(ex.StackTrace, Is.EqualTo(testXml.Content)); } } } }