public void TestRun_Multi_Pass_Timeout(string versionpath) { var source = Paths.TestExecutable_Execution(TestContext, versionpath); if (string.IsNullOrEmpty(source)) { Assert.Fail($"Missing test executable for {versionpath}."); return; } var settings = new Settings(); settings.ExecutionMode = ExecutionModes.CombineTestCases; settings.CombinedTimeout = 1500; // 1500 ms var executor = new Executor(settings, _pathSolution, _pathTestRun); var group = new TestCaseGroup(); group.Source = source; group.Names.Add("Pass. Test01 fast"); group.Names.Add("Pass. Test02 fast"); group.Names.Add("Pass. Test03 slow"); // takes 1s group.Names.Add("Pass. Test04 slow tagged"); // takes 1s group.Names.Add("Pass. Test05 fast"); group.Names.Add("Pass. Test06 fast"); var testresults = executor.Run(group); Assert.IsTrue(testresults.IsPartialOutput); Assert.IsTrue(testresults.TimedOut); Assert.AreEqual(3, testresults.TestResults.Count); var testresult = testresults.FindTestResult("Pass. Test01 fast"); Assert.IsNotNull(testresult); Assert.AreEqual(TestOutcomes.Passed, testresult.Outcome); Assert.AreEqual(0, testresult.OverallResults.Failures); Assert.AreEqual(0, testresult.OverallResults.Successes); Assert.AreEqual(0, testresult.OverallResults.TotalAssertions); testresult = testresults.FindTestResult("Pass. Test02 fast"); Assert.IsNotNull(testresult); Assert.AreEqual(TestOutcomes.Passed, testresult.Outcome); Assert.AreEqual(0, testresult.OverallResults.Failures); Assert.AreEqual(0, testresult.OverallResults.Successes); Assert.AreEqual(0, testresult.OverallResults.TotalAssertions); testresult = testresults.FindTestResult("Pass. Test03 slow"); Assert.IsNotNull(testresult); Assert.AreEqual(TestOutcomes.Passed, testresult.Outcome); Assert.AreEqual(0, testresult.OverallResults.Failures); Assert.AreEqual(0, testresult.OverallResults.Successes); Assert.AreEqual(0, testresult.OverallResults.TotalAssertions); Assert.IsNull(testresults.FindTestResult("Pass. Test04 slow tagged")); Assert.IsNull(testresults.FindTestResult("Pass. Test05 fast")); Assert.IsNull(testresults.FindTestResult("Pass. Test06 fast")); }
public void TestRun_Multi_Environment_BadValue(string versionpath) { var source = Paths.TestExecutable_Environment(TestContext, versionpath); if (string.IsNullOrEmpty(source)) { Assert.Fail($"Missing test executable for {versionpath}."); return; } var settings = new Settings(); settings.ExecutionMode = ExecutionModes.CombineTestCases; settings.Environment = new Dictionary <string, string>(); settings.Environment.Add("MyCustomEnvSetting", "Goodbye"); settings.Environment.Add("MyOtherCustomEnvSetting", "debug<1>"); var executor = new Executor(settings, _pathSolution, _pathTestRun); var group = new TestCaseGroup(); group.Source = source; group.Names.Add("getenv. Check MyCustomEnvSetting"); group.Names.Add("getenv. Check MyOtherCustomEnvSetting"); var testresults = executor.Run(group); Assert.IsFalse(testresults.IsPartialOutput); Assert.IsFalse(testresults.TimedOut); Assert.AreEqual(2, testresults.TestResults.Count); Assert.AreEqual(2, testresults.OverallResults.Failures); Assert.AreEqual(2, testresults.OverallResults.Successes); Assert.AreEqual(4, testresults.OverallResults.TotalAssertions); var testresult = testresults.FindTestResult("getenv. Check MyCustomEnvSetting"); Assert.IsNotNull(testresult); Assert.AreEqual(TestOutcomes.Failed, testresult.Outcome); Assert.AreEqual(0, testresult.OverallResults.Failures); Assert.AreEqual(0, testresult.OverallResults.Successes); Assert.AreEqual(0, testresult.OverallResults.TotalAssertions); testresult = testresults.FindTestResult("getenv. Check MyOtherCustomEnvSetting"); Assert.IsNotNull(testresult); Assert.AreEqual(TestOutcomes.Failed, testresult.Outcome); Assert.AreEqual(0, testresult.OverallResults.Failures); Assert.AreEqual(0, testresult.OverallResults.Successes); Assert.AreEqual(0, testresult.OverallResults.TotalAssertions); }
public async Task <TestCaseCreateOutput> Handle(TestCaseCreateInput request, CancellationToken cancellationToken) { var testCaseGroup = new TestCaseGroup("group1", 1, "162", DateTimeOffset.Now); //var testCase = new TestCase(request.Name, 1, "😂", "162", DateTimeOffset.Now, testCaseGroup); var testCaseValueObject = new TestCaseValueObject("feild1", true); var testCase = new TestCase(request.Name, 1, "😂", "162", DateTimeOffset.Now, testCaseValueObject); testCase.SetTargetTestCaseGroup(testCaseGroup); await _testCaseRepository.AddAsync(testCase, cancellationToken); await _testCaseRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken); await _mediator.Publish(new TestCaseCreateDomainEvent(testCase), cancellationToken); return(new TestCaseCreateOutput { Id = testCase.Id, Name = testCase.Name }); }
public void TestRun_Single_Fail(string versionpath) { var source = Paths.TestExecutable_Execution(TestContext, versionpath); if (string.IsNullOrEmpty(source)) { Assert.Fail($"Missing test executable for {versionpath}."); return; } var settings = new Settings(); settings.ExecutionMode = ExecutionModes.CombineTestCases; var executor = new Executor(settings, _pathSolution, _pathTestRun); var group = new TestCaseGroup(); group.Source = source; group.Names.Add("Fail. Test01 fast"); var testresults = executor.Run(group); Assert.IsFalse(testresults.IsPartialOutput); Assert.IsFalse(testresults.TimedOut); Assert.AreEqual(1, testresults.TestResults.Count); Assert.AreEqual(1, testresults.OverallResults.Failures); Assert.AreEqual(0, testresults.OverallResults.Successes); Assert.AreEqual(1, testresults.OverallResults.TotalAssertions); var testresult = testresults.FindTestResult("Fail. Test01 fast"); Assert.IsNotNull(testresult); Assert.AreEqual(TestOutcomes.Failed, testresult.Outcome); Assert.AreEqual(0, testresult.OverallResults.Failures); Assert.AreEqual(0, testresult.OverallResults.Successes); Assert.AreEqual(0, testresult.OverallResults.TotalAssertions); Assert.IsNull(testresults.FindTestResult("Fail. Test02 fast")); }
// ======================================================================== // Fields #region === Fields #endregion // ======================================================================== // Con- / Destructors #region === Con- / Destructors /// <summary> /// Initializes a new instance of <see cref="TestCaseAssembly"/>. /// </summary> /// <param name="parent">The parent of this test case or group.</param> /// <param name="name">The name of the test case.</param> public TestCaseAssembly(TestCaseGroup parent, string name) : base(parent, name) { }