Best NBi code snippet using NBi.NUnit.TestCase
TestSuite.cs
Source:TestSuite.cs
...44 TestSuiteManager = testSuiteManager;45 TestSuiteFinder = testSuiteFinder;46 }4748 [Test, TestCaseSource("GetTestCases")]49 public virtual void ExecuteTestCases(TestXml test)50 {51 Trace.WriteLineIf(NBiTraceSwitch.TraceVerbose, string.Format("Test loaded by {0}", GetOwnFilename()));52 Trace.WriteLineIf(NBiTraceSwitch.TraceInfo, string.Format("Test defined in {0}", TestSuiteFinder.Find()));5354 //check if ignore is set to true55 if (test.Ignore)56 Assert.Ignore(test.IgnoreReason);57 else58 {59 ExecuteChecks(test.Condition);60 ExecuteSetup(test.Setup);61 foreach (var tc in test.Systems)62 {63 foreach (var ctr in test.Constraints)64 {65 var testCase = new TestCaseFactory().Instantiate(tc, ctr);66 AssertTestCase(testCase.SystemUnderTest, testCase.Constraint, test.Content);67 }68 }69 ExecuteCleanup(test.Cleanup);70 }71 }7273 private void ExecuteChecks(ConditionXml check)74 {75 foreach (var predicate in check.Predicates)76 {77 var impl = new DecorationFactory().Get(predicate);78 var isVerified = impl.Validate();79 if (!isVerified)80 Assert.Ignore("This test has been ignored because following check wasn't successful: {0}", impl.Message);81 }82 }8384 private void ExecuteSetup(SetupXml setup)85 {86 try87 {88 foreach (var command in setup.Commands)89 {90 var impl = new DecorationFactory().Get(command);91 impl.Execute();92 }93 }94 catch (Exception ex)95 {96 HandleExceptionDuringSetup(ex);97 }98 }99100 protected virtual void HandleExceptionDuringSetup(Exception ex)101 {102 var message = string.Format("Exception during the setup of the test: {0}", ex.Message);103 Trace.WriteLineIf(NBiTraceSwitch.TraceWarning, message);104 //If failure during setup then the test is failed!105 Assert.Fail(message);106 }107108 private void ExecuteCleanup(CleanupXml cleanup)109 {110 try111 {112 foreach (var command in cleanup.Commands)113 {114 var impl = new DecorationFactory().Get(command);115 impl.Execute();116 }117 }118 catch (Exception ex)119 {120 HandleExceptionDuringCleanup(ex);121 }122 }123124 protected virtual void HandleExceptionDuringCleanup(Exception ex)125 {126 var message = string.Format("Exception during the cleanup of the test: {0}", ex.Message);127 Trace.WriteLineIf(NBiTraceSwitch.TraceWarning, message);128 Trace.WriteLineIf(NBiTraceSwitch.TraceWarning, "Next cleanup functions are skipped.");129 }130131 public virtual void ExecuteTest(string testSuiteXml)132 {133 Trace.WriteLineIf(NBiTraceSwitch.TraceInfo, testSuiteXml);134135 byte[] byteArray = Encoding.ASCII.GetBytes(testSuiteXml);136 var stream = new MemoryStream(byteArray);137 var sr = new StreamReader(stream);138139 TestSuiteManager.Read(sr);140 foreach (var test in TestSuiteManager.TestSuite.Tests)141 ExecuteTestCases(test);142 }143144 /// <summary>145 /// Handles the standard assertion and if needed rethrow a new AssertionException with a modified stacktrace146 /// </summary>147 /// <param name="systemUnderTest"></param>148 /// <param name="constraint"></param>149 protected internal void AssertTestCase(Object systemUnderTest, NUnitCtr.Constraint constraint, string stackTrace)150 {151 try152 {153 Assert.That(systemUnderTest, constraint);154 }155 catch (AssertionException ex)156 {157 throw new CustomStackTraceAssertionException(ex, stackTrace);158 }159 catch (NBiException ex)160 {161 throw new CustomStackTraceErrorException(ex, stackTrace);162 }163 }164165 public IEnumerable<TestCaseData> GetTestCases()166 {167 //Find configuration of NBi168 if (ConfigurationFinder != null)169 ApplyConfig(ConfigurationFinder.Find());170171 //Find connection strings referecned from an external file172 if (ConnectionStringsFinder != null)173 TestSuiteManager.ConnectionStrings = ConnectionStringsFinder.Find();174175 //Build the Test suite176 var testSuiteFilename = TestSuiteFinder.Find();177 TestSuiteManager.Load(testSuiteFilename, SettingsFilename, AllowDtdProcessing);178179 return BuildTestCases();180 }181 182 internal IEnumerable<TestCaseData> BuildTestCases()183 {184 List<TestCaseData> testCasesNUnit = new List<TestCaseData>();185186 testCasesNUnit.AddRange(BuildTestCases(TestSuiteManager.TestSuite.Tests));187 testCasesNUnit.AddRange(BuildTestCases(TestSuiteManager.TestSuite.Groups));188189 return testCasesNUnit;190 }191192 private IEnumerable<TestCaseData> BuildTestCases(IEnumerable<TestXml> tests)193 {194 var testCases = new List<TestCaseData>(tests.Count());195196 foreach (var test in tests)197 {198 TestCaseData testCaseDataNUnit = new TestCaseData(test);199 testCaseDataNUnit.SetName(test.GetName());200 testCaseDataNUnit.SetDescription(test.Description);201 foreach (var category in test.Categories)202 testCaseDataNUnit.SetCategory(CategoryHelper.Format(category));203204 //Assign auto-categories205 if (EnableAutoCategories)206 {207 foreach (var system in test.Systems)208 foreach (var category in system.GetAutoCategories())209 testCaseDataNUnit.SetCategory(CategoryHelper.Format(category));210 }211 //Assign auto-categories212 if (EnableGroupAsCategory)213 {214 foreach (var groupName in test.GroupNames)215 testCaseDataNUnit.SetCategory(CategoryHelper.Format(groupName));216 }217218 testCases.Add(testCaseDataNUnit);219 }220 return testCases;221 }222223 private IEnumerable<TestCaseData> BuildTestCases(IEnumerable<GroupXml> groups)224 {225 var testCases = new List<TestCaseData>();226227 foreach (var group in groups)228 {229 testCases.AddRange(BuildTestCases(group.Tests));230 testCases.AddRange(BuildTestCases(group.Groups));231 }232 return testCases;233 }234235 public void ApplyConfig(NBiSection config)236 {237 EnableAutoCategories = config.EnableAutoCategories;238 EnableGroupAsCategory = config.EnableGroupAsCategory;239 AllowDtdProcessing = config.AllowDtdProcessing;240 SettingsFilename = config.SettingsFilename;241 }242243244 protected internal string GetOwnFilename()
...
RuntimeOverrider.cs
Source:RuntimeOverrider.cs
...14 public class RuntimeOverrider15 {16 17 //This class overrides the search for TestSuiteDefinitionFile18 //The filename is given by the TestCase here under19 public class TestSuiteOverrider : TestSuite20 {21 22 public TestSuiteOverrider(string filename) : base()23 {24 TestSuiteFinder = new TestSuiteFinderOverrider(filename);25 }26 27 internal class TestSuiteFinderOverrider : TestSuiteFinder28 {29 private readonly string filename;30 public TestSuiteFinderOverrider(string filename)31 {32 this.filename = filename;33 }34 35 protected internal override string Find()36 {37 return @"Acceptance\Resources\" + filename;38 }39 }4041 [Ignore]42 public override void ExecuteTestCases(TestXml test)43 {44 base.ExecuteTestCases(test);45 }46 }4748 [TestFixtureSetUp]49 public void SetupMethods()50 {51 //Build the fullpath for the file to read52 Directory.CreateDirectory("Etl");53 DiskOnFile.CreatePhysicalFile(@"Etl\Sample.dtsx", "NBi.Testing.Integration.Core.Etl.IntegrationService.Resources.Sample.dtsx");54 }55 56 //By Acceptance Test Suite (file) create a Test Case57 [Test]58 [TestCase("AssemblyEqualToResultSet.nbits")]59 [TestCase("QueryEqualToCsv.nbits")]60 [TestCase("QueryEqualToQuery.nbits")]61 [TestCase("QueryEqualToResultSet.nbits")]62 [TestCase("QueryEqualToResultSetWithNull.nbits")]63 [TestCase("QueryWithReference.nbits")]64 [TestCase("Ordered.nbits")]65 [TestCase("Count.nbits")]66 [TestCase("Contain.nbits")]67 [TestCase("ContainStructure.nbits")]68 [TestCase("fasterThan.nbits")]69 [TestCase("SyntacticallyCorrect.nbits")]70 [TestCase("Exists.nbits")]71 [TestCase("LinkedTo.nbits")]72 [TestCase("SubsetOfStructure.nbits")]73 [TestCase("EquivalentToStructure.nbits")]74 [TestCase("SubsetOfMembers.nbits")]75 [TestCase("EquivalentToMembers.nbits")]76 [TestCase("MatchPatternMembers.nbits")]77 [TestCase("ResultSetMatchPattern.nbits")]78 [TestCase("QueryWithParameters.nbits")]79 [TestCase("EvaluateRows.nbits")]80 [TestCase("ReportEqualTo.nbits")]81 [TestCase("Etl.nbits")]82 [Category ("Acceptance")]83 public void RunTestSuite(string filename)84 {85 var t = new TestSuiteOverrider(filename);86 87 //First retrieve the NUnit TestCases with base class (NBi.NUnit.Runtime)88 //These NUnit TestCases are defined in the Test Suite file89 var tests = t.GetTestCases();9091 //Execute the NUnit TestCases one by one92 foreach (var testCaseData in tests)93 t.ExecuteTestCases((TestXml)testCaseData.Arguments[0]);94 95 }96 }97}
...
SaveNBiTestSuiteTest.cs
Source:SaveNBiTestSuiteTest.cs
...38 if (File.Exists(filepath)) { File.Delete(filepath); }39 }40 }41 [Test]42 [TestCase("//d:testSuite", TestName = "SaveNBiTestSuite_CorrectFileStructure_TestSuiteNode")]43 [TestCase("//d:settings", TestName = "SaveNBiTestSuite_CorrectFileStructure_SettingsNode")]44 public void SaveNBiTestSuite_CorrectFileStructure(string xpath)45 {46 // Arrange47 string filepath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SaveNBiTestSuite_CorrectFileStructure.nbits");48 if (File.Exists(filepath)) { File.Delete(filepath); }49 string script = $@"50 Import-Module { AssemblyPath }51 $testSuite = New-NBiTestSuite52 Save-NBiTestSuite -TestSuite $testSuite -Filepath { filepath }";53 Pipeline pipeline = Runspace.CreatePipeline(script);54 try55 {56 // Act57 pipeline.Invoke();...
TestCase
Using AI Code Generation
1using NBi.NUnit;2using NBi.NUnit.Query;3using NBi.NUnit.Structure;4using NUnit.Framework;5using System.Data;6{7 public void Test()8 {9 var testCase = new TestCase();10 testCase.Query = new Query("select * from table");11 testCase.Structure = new Structure("table");12 testCase.Run();13 }14}15using NBi.NUnit;16using NBi.NUnit.Query;17using NBi.NUnit.Structure;18using NUnit.Framework;19using System.Data;20{21 {22 public void Test()23 {24 var testCase = new TestCase();25 testCase.Query = new Query("select * from table");26 testCase.Structure = new Structure("table");27 testCase.Run();28 }29 }30}
TestCase
Using AI Code Generation
1using NBi.NUnit;2using NUnit.Framework;3{4 [TestCase("1", "2", "3")]5 [TestCase("4", "5", "6")]6 public void TestMethod(string a, string b, string c)7 {8 Assert.That(a, Is.EqualTo(b));9 }10}11using NBi.NUnit;12using NUnit.Framework;13{14 [TestCase("1", "2", "3")]15 [TestCase("4", "5", "6")]16 public void TestMethod(string a, string b, string c)17 {18 Assert.That(a, Is.EqualTo(c));19 }20}21using NBi.NUnit;22using NUnit.Framework;23{24 [TestCase("1", "2", "3")]25 [TestCase("4", "5", "6")]26 public void TestMethod(string a, string b, string c)27 {28 Assert.That(b, Is.EqualTo(c));29 }30}31using NBi.NUnit;32using NUnit.Framework;33{34 [TestCase("1", "2", "3")]35 [TestCase("4", "5", "6")]36 public void TestMethod(string a, string b, string c)37 {38 Assert.That(a, Is.EqualTo("1"));39 }40}41using NBi.NUnit;42using NUnit.Framework;43{44 [TestCase("1", "2", "3")]45 [TestCase("4", "5", "6")]46 public void TestMethod(string a, string b, string c)47 {48 Assert.That(a, Is.EqualTo("4"));49 }50}51using NBi.NUnit;52using NUnit.Framework;53{54 [TestCase("1", "2", "3")]55 [TestCase("4", "5", "6")]
TestCase
Using AI Code Generation
1using NBi.NUnit;2using NBi.NUnit.Query;3using NUnit.Framework;4{5 {6 private QueryBuilder builder;7 public void Setup()8 {9 builder = new QueryBuilder();10 }11 public void Build_Nothing_ReturnInstanceOfQuery()12 {13 var query = builder.Build();14 Assert.That(query, Is.InstanceOf<Query>());15 }16 public void Build_Nothing_ReturnInstanceOfQueryWithEmptyQuery()17 {18 var query = builder.Build();19 Assert.That(query.QueryText, Is.Empty);20 }21 public void Build_Nothing_ReturnInstanceOfQueryWithEmptyConnectionString()22 {23 var query = builder.Build();24 Assert.That(query.ConnectionString, Is.Empty);25 }26 public void Build_Nothing_ReturnInstanceOfQueryWithEmptyVariable()27 {28 var query = builder.Build();29 Assert.That(query.Variables, Is.Empty);30 }31 public void Build_Nothing_ReturnInstanceOfQueryWithEmptyParameter()32 {33 var query = builder.Build();34 Assert.That(query.Parameters, Is.Empty);35 }36 public void Build_Nothing_ReturnInstanceOfQueryWithEmptyResult()37 {38 var query = builder.Build();39 Assert.That(query.Results, Is.Empty);40 }41 public void Build_Nothing_ReturnInstanceOfQueryWithEmptyResult()42 {43 var query = builder.Build();44 Assert.That(query.Results, Is.Empty);45 }46 public void Build_Nothing_ReturnInstanceOfQueryWithEmptyResult()47 {48 var query = builder.Build();49 Assert.That(query.Results, Is.Empty);50 }51 public void Build_Nothing_ReturnInstanceOfQueryWithEmptyResult()52 {53 var query = builder.Build();54 Assert.That(query.Results, Is.Empty);55 }56 public void Build_Nothing_ReturnInstanceOfQueryWithEmptyResult()57 {58 var query = builder.Build();59 Assert.That(query.Results, Is.Empty);60 }61 public void Build_Nothing_ReturnInstanceOfQueryWithEmptyResult()62 {63 var query = builder.Build();64 Assert.That(query.Results, Is.Empty);65 }66 public void Build_Nothing_ReturnInstanceOfQueryWithEmptyResult()67 {
TestCase
Using AI Code Generation
1using NBi.NUnit;2using NBi.NUnit.TestCase;3using NBi.NUnit.TestSuite;4using NBi.NUnit.Test;5using NBi.NUnit.TestSuiteSuite;6using NBi.NUnit.TestSuite;7using NBi.NUnit.Test;8using NBi.NUnit.TestSuiteSuite;9using NBi.NUnit.Test;10using NBi.NUnit.TestSuiteSuite;11using NBi.NUnit.Test;12using NBi.NUnit.TestSuiteSuite;13using NBi.NUnit.Test;14using NBi.NUnit.TestSuiteSuite;15using NBi.NUnit.Test;
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!