public TestResult[] RunTestsInFile(string filePath, TestSuiteFactoryDelegate testSuiteFactory) { _testSuite = testSuiteFactory(_driver, filePath); WaitForTestsToFinish(); _testSuite.SaveScreenShot(); return _testSuite.GetTestResults(); }
/// <summary> /// Notifies the listener at the end of a test suite. /// </summary> public void EndTestSuite(ITestSuite testSuite) { _testSuiteLevel--; if (_testSuiteLevel == 0) { _timer.Stop(); } }
public void RunTestScenario( TestScenarioExecCmdletBase cmdlet, ITestSuite testSuite, ITestScenario testScenario) { // run BeforeScenario scriptblocks //if (null != testSuite) { // 20140208 // if (null == testSuite || null == testScenario || 0 >= testScenario.TestCases.Count) return; if (null == testSuite || null == testScenario || 0 == testScenario.TestCases.Count) return; // if (null != testSuite && null != testScenario && 0 < testScenario.TestCases.Count) { cmdlet.runTwoScriptBlockCollections( // 20141211 // testSuite.BeforeScenario, testSuite.BeforeScenario.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testSuite.BeforeScenarioParameters); //} foreach (ITestCase testCase in testScenario.TestCases) { cmdlet.runTwoScriptBlockCollections( // 20141211 // testScenario.BeforeTest, testScenario.BeforeTest.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testScenario.BeforeTestParameters); cmdlet.runTwoScriptBlockCollections( // 20141211 // testCase.TestCode, testCase.TestCode.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, cmdlet, testCase.TestCodeParameters); cmdlet.runTwoScriptBlockCollections( // 20141211 // testScenario.AfterTest, testScenario.AfterTest.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testScenario.AfterTestParameters); } // run AfterScenario scriptblocks //if (null != testSuite) { //if (null != testSuite && null != testScenario && 0 < testScenario.TestCases.Count) { cmdlet.runTwoScriptBlockCollections( // 20141211 // testSuite.AfterScenario, testSuite.AfterScenario.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testSuite.AfterScenarioParameters); }
public void RunTestSuite( TestSuiteExecCmdletBase cmdlet, ITestSuite testSuite) { foreach (var testScenario in testSuite.TestScenarios.Where(testScenario => null != testScenario.TestCases && 0 < testScenario.TestCases.Count)) { cmdlet.runTwoScriptBlockCollections( // 20141211 // testSuite.BeforeScenario, testSuite.BeforeScenario.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testSuite.BeforeScenarioParameters); //} //if (null != testScenario.TestCases && 0 < testScenario.TestCases.Count) { foreach (ITestCase testCase in testScenario.TestCases) { cmdlet.runTwoScriptBlockCollections( // 20141211 // testScenario.BeforeTest, testScenario.BeforeTest.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testScenario.BeforeTestParameters); cmdlet.runTwoScriptBlockCollections( // 20141211 // testCase.TestCode, testCase.TestCode.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, cmdlet, testCase.TestCodeParameters); cmdlet.runTwoScriptBlockCollections( // 20141211 // testScenario.AfterTest, testScenario.AfterTest.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testScenario.AfterTestParameters); } //} // run AfterScenario scriptblocks //if (null != testScenario) { cmdlet.runTwoScriptBlockCollections( // 20141211 // testSuite.AfterScenario, testSuite.AfterScenario.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testSuite.AfterScenarioParameters); } }
public VSTracker(IFrameworkHandle frameworkHandle, ITestSuite suite) { _frameworkHandle = frameworkHandle; _expectedTests = new Dictionary<string, TestCase>(); foreach (var testCase in suite.TestCases) { foreach (var test in testCase.Tests) { _expectedTests.Add(createDictionaryKey(test), test.ToVSTest()); } } }
internal static ITestScenario AddTestScenario( ITestSuite testSuite, string name, string id, string description, string testSuiteName, string testSuiteId) { AddTMXTestScenarioCommand cmdlet = new AddTMXTestScenarioCommand(); if (null != name && string.Empty != name) { cmdlet.Name = name; } if (null != id && string.Empty != id) { cmdlet.Id = id; } if (null != description && string.Empty != description) { cmdlet.Description = description; } if (null == testSuite) { if (null != testSuiteName && string.Empty != testSuiteName) { cmdlet.TestSuiteName = testSuiteName; } if (null != testSuiteId && string.Empty != testSuiteId) { cmdlet.TestSuiteId = testSuiteId; } if ((null == testSuiteName || string.Empty == testSuiteName) && (null == testSuiteId || string.Empty == testSuiteId)) { cmdlet.InputObject = TestData.CurrentTestSuite; } } else { cmdlet.InputObject = (TestSuite)testSuite; } TMXAddTestScenarioCommand command = new TMXAddTestScenarioCommand(cmdlet); command.Execute(); return (ITestScenario)TMX.TestData.CurrentTestScenario; }
public TestCaseRunInvoker( IRun run, ITestSuite testSuite, ITestCase testCase, MethodInfo setUp, MethodInfo tearDown ) : base(run) { this.testSuite = testSuite; this.testCase = testCase; this.setUp = setUp; this.tearDown = tearDown; }
public virtual TestStat RefreshSuiteStatistics(ITestSuite suite, bool skipAutomatic) { var testSuiteStatistics = new TestStat(); foreach (var testScenario in suite.TestScenarios) { RefreshScenarioStatistics(testScenario, skipAutomatic); testSuiteStatistics.All += testScenario.Statistics.All; testSuiteStatistics.Passed += testScenario.Statistics.Passed; testSuiteStatistics.Failed += testScenario.Statistics.Failed; testSuiteStatistics.NotTested += testScenario.Statistics.NotTested; testSuiteStatistics.TimeSpent += testScenario.Statistics.TimeSpent; testSuiteStatistics.PassedButWithBadSmell += testScenario.Statistics.PassedButWithBadSmell; } suite.Statistics = testSuiteStatistics; setTestSuiteStatus(suite); return testSuiteStatistics; }
public GTestTestCase(string name, ITestSuite suite) { if(name == null) throw new ArgumentNullException("name"); if(suite == null) throw new ArgumentNullException("suite"); if (name.Contains("#")) { Description = name.Substring(name.IndexOf('#') + 1); name = name.Substring(0, name.IndexOf('#')); } name = name.TrimEnd(' ', '.').Trim(); if (string.IsNullOrEmpty(name)) throw new ArgumentException("Name cannot be empty, and must consist of more than ' 's and '.'s", "name"); Suite = suite; Name = name; LastResult = new TestResult() {Message = "Not Run", Outcome = TestStatus.NotRun}; tests = new List<ITest>(); }
public GTestRunOutputParser(ITestSuite testSuite, ITestLogger logger) { _expectedTests = new Dictionary<string, ITest>(); foreach (var testCase in testSuite.TestCases) { foreach (var test in testCase.Tests) { var runName = GTestNameFormatter.GetRunName(test); if (!_expectedTests.ContainsKey(runName)) { _expectedTests.Add(GTestNameFormatter.GetRunName(test), test); } else { logger.Warning(string.Format("Seem to have multiple test cases with the same name... Skipping {0}", runName)); } } } _currentTestRun = new StringBuilder(); _logger = logger; }
internal static bool AddTestScenario(ITestSuite testSuite, string testScenarioName, string testScenarioId, string testScenarioDescription, string testSuiteName, string testSuiteId, Guid testPlatformId, // 20141211 // ScriptBlock[] testScenarioBeforeTest, // ScriptBlock[] testScenarioAfterTest) ICodeBlock[] testScenarioBeforeTest, ICodeBlock[] testScenarioAfterTest) { bool result = false; // clean up the last empty test result // in the previous scenario if (null != TestData.CurrentTestScenario) { if (TestData.CurrentTestScenario.TestResults.Count > 0) { if (TestData.CurrentTestScenario.TestResults[TestData.CurrentTestScenario.TestResults.Count - 1].Details.Count == 0 && TestData.CurrentTestScenario.TestResults[TestData.CurrentTestScenario.TestResults.Count - 1].Status == TestStateNotTested) { TestData.CurrentTestScenario.TestResults.RemoveAt(TestData.CurrentTestScenario.TestResults.Count - 1); } } // if ((null != TestData.CurrentTestResult.Name && // string.Empty != TestData.CurrentTestResult.Name) || // (0 < TestData.CurrentTestResult.Details.Count)) { // //TmxHelper.TestCaseStarted = // // System.DateTime.Now; // TestData.CurrentTestScenario.TestResults.Add(new TestResult(TestData.CurrentTestScenario.Id, TestData.CurrentTestSuite.Id)); // TestData.CurrentTestScenario.TestResults[TestData.CurrentTestScenario.TestResults.Count - 1] = // TestData.CurrentTestResult; // } } // set time spent on the previous scenario if (null != TestData.CurrentTestScenario) { if (DateTime.MinValue != TestData.CurrentTestScenario.Timestamp) { TestData.CurrentTestScenario.SetTimeSpent( TestData.CurrentTestScenario.TimeSpent += (DateTime.Now - TestData.CurrentTestScenario.Timestamp).TotalSeconds); TestData.CurrentTestScenario.Timestamp = DateTime.MinValue; } } if (testSuite != null) { TestData.CurrentTestSuite = testSuite; } else if (!string.IsNullOrEmpty(testSuiteName)) { var testSuite2 = GetTestSuite(testSuiteName, testSuiteId, testPlatformId); if (testSuite2 != null) { TestData.CurrentTestSuite = testSuite2; } } else if (!string.IsNullOrEmpty(testSuiteId)) { var testSuite3 = GetTestSuite(testSuiteName, testSuiteId, testPlatformId); if (testSuite3 != null) { TestData.CurrentTestSuite = testSuite3; } } if (TestData.CurrentTestSuite == null) { return result; } // 20140716 try { // 20140716 // if (1 == TestData.CurrentTestSuite.TestScenarios.Count && "autogenerated" == TestData.CurrentTestSuite.TestScenarios[0].Name && // 20140718 // if (1 == TestData.CurrentTestSuite.TestScenarios.Count && TestData.Autogenerated == TestData.CurrentTestSuite.TestScenarios[0].Name && // 1 == TestData.CurrentTestSuite.TestScenarios[0].TestResults.Count && TestResultOrigins.Automatic == TestData.CurrentTestSuite.TestScenarios[0].TestResults[0].Origin) { if (1 <= TestData.CurrentTestSuite.TestScenarios.Count && TestData.Autogenerated == TestData.CurrentTestSuite.TestScenarios[0].Name && (0 == TestData.CurrentTestSuite.TestScenarios[0].TestResults.Count || 1 == TestData.CurrentTestSuite.TestScenarios[0].TestResults.Count && TestResultOrigins.Automatic == TestData.CurrentTestSuite.TestScenarios[0].TestResults[0].Origin)) { TestData.CurrentTestSuite.TestScenarios.RemoveAt(0); } } catch {} if (string.IsNullOrEmpty(testScenarioId)) testScenarioId = GetTestScenarioId(); // if (null != TestData.TestSuites && 0 < TestData.TestSuites.Count) { // int lastTestSuiteNumber = TestData.TestSuites.Count - 1; // // if (null != TestData.TestSuites[lastTestSuiteNumber].TestScenarios && 0 < TestData.TestSuites[lastTestSuiteNumber].TestScenarios.Count) { // int lastTestScenarioNumber = TestData.TestSuites[lastTestSuiteNumber].TestScenarios.Count - 1; // // if (TestData.CurrentTestScenario.Name == TestData.TestSuites[lastTestSuiteNumber].TestScenarios[lastTestScenarioNumber].Name && // TestData.CurrentTestScenario.Id == TestData.TestSuites[lastTestSuiteNumber].TestScenarios[lastTestScenarioNumber].Id) { // // TestData.TestSuites[lastTestSuiteNumber].TestScenarios[lastTestScenarioNumber] = TestData.CurrentTestScenario; // } // } // } TestData.CurrentTestSuite.TestScenarios.Add( new TestScenario(testScenarioName, testScenarioId, TestData.CurrentTestSuite.Id) { SuiteUniqueId = TestData.CurrentTestSuite.UniqueId }); if (!string.IsNullOrEmpty(testScenarioDescription)) TestData.CurrentTestSuite.TestScenarios[CurrentTestSuite.TestScenarios.Count - 1].Description = testScenarioDescription; TestData.CurrentTestScenario = (TestScenario)TestData.CurrentTestSuite.TestScenarios[CurrentTestSuite.TestScenarios.Count - 1]; TestData.CurrentTestScenario.BeforeTest = testScenarioBeforeTest; TestData.CurrentTestScenario.AfterTest = testScenarioAfterTest; TestData.CurrentTestScenario.PlatformUniqueId = testPlatformId != Guid.Empty ? testPlatformId : TestData.CurrentTestSuite.PlatformUniqueId; TestData.CurrentTestScenario.PlatformId = TestPlatforms.First(tp => tp.UniqueId == CurrentTestScenario.PlatformUniqueId).Id; // set the initial time for this scenario's session CurrentTestScenario.SetNow(); OnTmxNewTestScenarioAdded(TestData.CurrentTestScenario, null); if (Preferences.Storage) { using (var session = StorageHelper.SessionFactory.OpenSession()) session.Save(TestData.CurrentTestScenario); } result = true; return result; }
private void CreateMockSuite(out ITestSuite suite) { Mock<ITest> mockTest = new Mock<ITest>(); Mock<ITestCase> mockCase = new Mock<ITestCase>(); Mock<ITestSuite> mockSuite = new Mock<ITestSuite>(); mockTest.Setup(t => t.Case).Returns(mockCase.Object); mockTest.Setup(t => t.Completed(It.IsAny<TestResult>())).Raises(t => t.TestCompleted += null); mockTest.Setup(t => t.Name).Returns("Test"); mockCase.Setup(cs => cs.Name).Returns("Test"); mockCase.Setup(cs => cs.Suite).Returns(mockSuite.Object); mockCase.Setup(cs => cs.Tests).Returns(new[] {mockTest.Object}); mockSuite.Setup(s => s.RunTarget).Returns("Test.exe"); mockSuite.Setup(s => s.Name).Returns("TestSuite"); mockSuite.Setup(s => s.TestCases).Returns(new[] {mockCase.Object}); suite = mockSuite.Object; }
public void RunTestScenario( TestScenarioExecCmdletBase cmdlet, ITestSuite testSuite, ITestScenario testScenario) { // run BeforeScenario scriptblocks //if (null != testSuite) { if (null != testSuite && null != testScenario && 0 < testScenario.TestCases.Count) { cmdlet.runTwoScriptBlockCollections( testSuite.BeforeScenario, null, // alternate scriptblocks cmdlet, testSuite.BeforeScenarioParameters); //} foreach (ITestCase testCase in testScenario.TestCases) { cmdlet.runTwoScriptBlockCollections( testScenario.BeforeTest, null, // alternate scriptblocks cmdlet, testScenario.BeforeTestParameters); cmdlet.runTwoScriptBlockCollections( testCase.TestCode, null, cmdlet, testCase.TestCodeParameters); cmdlet.runTwoScriptBlockCollections( testScenario.AfterTest, null, // alternate scriptblocks cmdlet, testScenario.AfterTestParameters); } // run AfterScenario scriptblocks //if (null != testSuite) { //if (null != testSuite && null != testScenario && 0 < testScenario.TestCases.Count) { cmdlet.runTwoScriptBlockCollections( testSuite.AfterScenario, null, // alternate scriptblocks cmdlet, testSuite.AfterScenarioParameters); } }
public ITestCase BuildTestCase(ITestSuite suite, string testCaseName) { return new GTestTestCase(testCaseName, suite); }
// 20140720 public void RunTestCase( TestCaseExecCmdletBase cmdlet, // 20140720 // TestSuite testSuite, // TestScenario testScenario) ITestSuite testSuite, ITestScenario testScenario) { var testCase = TestData.GetTestCase( testSuite, string.Empty, //cmdlet.Name cmdlet.Id, testScenario.Name, testScenario.Id, testSuite.Name, testSuite.Id, // 20141119 // testScenario.PlatformId); testScenario.PlatformUniqueId); if (null == testCase) { return; } // run BeforeScenario scriptblocks //if (null != testSuite) { if (null != testSuite && null != testScenario) { cmdlet.runTwoScriptBlockCollections( // 20141211 // testSuite.BeforeScenario, testSuite.BeforeScenario.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testSuite.BeforeScenarioParameters); } // run BeforeTest scriptblocks if (null != testScenario) { cmdlet.runTwoScriptBlockCollections( // 20141211 // testScenario.BeforeTest, testScenario.BeforeTest.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testScenario.BeforeTestParameters); } // run TestCode scriptblocks cmdlet.runTwoScriptBlockCollections( //cmdlet.TestCode, // 20141211 // testCase.TestCode, testCase.TestCode.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, cmdlet, cmdlet.TestCodeParameters); // run AfterTest scriptblocks if (null != testScenario) { cmdlet.runTwoScriptBlockCollections( // 20141211 // testScenario.AfterTest, testScenario.AfterTest.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testScenario.AfterTestParameters); } // run AfterScenario scriptblocks //if (null != testSuite) { if (null != testSuite && null != testScenario) { cmdlet.runTwoScriptBlockCollections( // 20141211 // testSuite.AfterScenario, testSuite.AfterScenario.Select(codeblock => ScriptBlock.Create(codeblock.Code)).ToArray(), null, // alternate scriptblocks cmdlet, testSuite.AfterScenarioParameters); } }
private ITestCase createTestCaseUnderTest(ITestSuite suite, string testCaseName) { GTestTestFactory factory = new GTestTestFactory(); return factory.BuildTestCase(suite, testCaseName); }
public void Run(ITestSuite testSuite) { QueueRun(testSuite, string.Empty); }
public ITestSuite Decorate(ITestSuite suite) { TestSuite checkedSuite = new TestSuite(suite.Name); foreach (ITestCase testCase in suite.TestCases) { PerformanceCounterCheckerTestCase checkedTestCase = new PerformanceCounterCheckerTestCase(this,testCase); checkedSuite.Add(checkedTestCase); } return checkedSuite; }
private void QueueExtract(ITestSuite suite) { _worker.RunWorkerAsync(new ExtractArgs() {Suite = suite}); if(!_async) { while(_worker.IsBusy) { System.Threading.Thread.Sleep(500); } } }
void setTestSuiteStatus(ITestSuite suite) { suite.enStatus = suite.Statistics.PassedButWithBadSmell > 0 ? TestSuiteStatuses.KnownIssue : suite.Statistics.Failed > 0 ? TestSuiteStatuses.Failed : suite.Statistics.Passed > 0 ? TestSuiteStatuses.Passed : TestSuiteStatuses.NotTested; }
internal static ITestScenario AddTestScenario( ITestSuite testSuite, string name, string id, string description, string testSuiteName, string testSuiteId) { var cmdlet = new AddTmxTestScenarioCommand(); if (!string.IsNullOrEmpty(name)) cmdlet.Name = name; if (!string.IsNullOrEmpty(id)) cmdlet.Id = id; if (!string.IsNullOrEmpty(description)) cmdlet.Description = description; if (null == testSuite) { if (!string.IsNullOrEmpty(testSuiteName)) cmdlet.TestSuiteName = testSuiteName; if (!string.IsNullOrEmpty(testSuiteId)) cmdlet.TestSuiteId = testSuiteId; if ((string.IsNullOrEmpty(testSuiteName)) && (string.IsNullOrEmpty(testSuiteId))) cmdlet.InputObject = TestData.CurrentTestSuite; } else { cmdlet.InputObject = (TestSuite)testSuite; } var command = new TmxAddTestScenarioCommand(cmdlet); command.Execute(); return (ITestScenario)TestData.CurrentTestScenario; }
internal void SetSuiteStatus(ITestSuite testSuite, bool skipAutomatic) { var counterPassedResults = 0; var counterKnownIssueResults = 0; if (null != testSuite.TestScenarios && 0 < testSuite.TestScenarios.Count) { foreach (var scenario in testSuite.TestScenarios) { SetScenarioStatus(scenario, skipAutomatic); switch (scenario.enStatus) { case TestStatuses.Passed: counterPassedResults++; if (TestStatuses.Failed != testSuite.enStatus) testSuite.enStatus = TestStatuses.Passed; break; case TestStatuses.Failed: testSuite.enStatus = TestStatuses.Failed; return; case TestStatuses.NotRun: break; case TestStatuses.KnownIssue: counterKnownIssueResults++; if (TestStatuses.Failed != testSuite.enStatus) testSuite.enStatus = TestStatuses.Passed; break; default: // 20130428 //throw new Exception("Invalid value for TestScenarioStatuses"); // as Not Tested break; } } if (0 == counterPassedResults && 0 < counterKnownIssueResults) testSuite.enStatus = TestStatuses.KnownIssue; // 20150925 // var testStatistics = new TestStatistics(); var testStatistics = ProxyFactory.Get<TestStatistics>(); testStatistics.RefreshSuiteStatistics(testSuite, skipAutomatic); } }
internal static ITestCase GetTestCase( ITestSuite testSuite, string testCaseName, string testCaseId, string testScenarioName, string testScenarioId, string testSuiteName, string testSuiteId, Guid testPlatformId) { ITestCase result = null; if (null == testSuite) { testSuite = TestData.GetTestSuite( testSuiteName, testSuiteId, testPlatformId); } if (null == testSuite) // better error description? return result; ITestScenario testScenario = null; if (null != testSuite) testScenario = TestData.GetTestScenario( testSuite, testScenarioName, testScenarioId, testSuiteName, testSuiteId, testPlatformId); if (null == testScenario) // better error description? return result; if (null != testScenario && 0 < testScenario.TestCases.Count) foreach (var testCase in testScenario.TestCases) if ((testCaseName == testCase.TestCaseName && testCaseId == testCase.TestCaseId) || (string.IsNullOrEmpty(testCaseName) && testCaseId == testCase.TestCaseId) || (string.IsNullOrEmpty(testCaseId) && testCaseName == testCase.TestCaseName)) { result = testCase; break; } return result; }
internal static ITestScenario GetTestScenario( ITestSuite testSuite, string testScenarioName, string testScenarioId, string testSuiteName, string testSuiteId, Guid testPlatformId) { TestScenario result = null; if (testSuite != null) TestData.CurrentTestSuite = testSuite; else if (!string.IsNullOrEmpty(testSuiteName)) { /* } else if (testSuite == null && testSuiteName != string.Empty && testSuiteName != null) { */ var testSuite2 = GetTestSuite(testSuiteName, testSuiteId, testPlatformId); if (testSuite2 != null) TestData.CurrentTestSuite = testSuite2; } else if (!string.IsNullOrEmpty(testSuiteId)) { /* } else if (testSuite == null && testSuiteId != string.Empty && testSuiteId != null) { */ var testSuite3 = GetTestSuite(testSuiteName, testSuiteId, testPlatformId); if (testSuite3 != null) TestData.CurrentTestSuite = testSuite3; } if (TestData.CurrentTestSuite == null) return result; if (!string.IsNullOrEmpty(testScenarioName)) { foreach (ITestScenario testScenario in TestData.CurrentTestSuite.TestScenarios) if (testScenario.Name == testScenarioName) { TestData.CurrentTestScenario = testScenario; return TestData.CurrentTestScenario; // TODO: try this // return TestData.CurrentTestScenario = testScenario; } } if (!string.IsNullOrEmpty(testScenarioId)) { // foreach (ITestScenario testScenario in TestData.CurrentTestSuite.TestScenarios.Cast<ITestScenario>().Where(testScenario => testScenario.Id == testScenarioId)) { foreach (ITestScenario testScenario in TestData.CurrentTestSuite.TestScenarios.Where(testScenario => testScenario.Id == testScenarioId)) { if (testPlatformId != testScenario.PlatformUniqueId) continue; if (testScenarioName != testScenario.Name && !string.IsNullOrEmpty(testScenarioName)) continue; TestData.CurrentTestScenario = testScenario; return testScenario; } } return result; }
public XElement CreateTestResultsXElementCommon( ITestSuite suite, ITestScenario scenario, IOrderedEnumerable<ITestResult> testResults, IXMLElementsStruct xmlStruct) { var testResultsFiltered = from testResult in testResults where testResult.SuiteId == suite.Id && testResult.ScenarioId == scenario.Id && testResult.Id != null && testResult.Name != null && testResult.PlatformUniqueId == scenario.PlatformUniqueId select testResult; if (!testResultsFiltered.Any()) { return null; } var testResultsElement = new XElement(xmlStruct.TestResultsNode, from testResult in testResultsFiltered select getTestResultsXElement(testResult, xmlStruct) ); return testResultsElement; }
public GTestTestListParser(ITestSuite suite) { this._suite = suite; }
private GTestTestListParser CreateParserUnderTest(ITestSuite testSuite) { return new GTestTestListParser(testSuite); }
// 20140720 // string getStatisticsStringSuite(TestSuite suite, bool skipAutomatic) string getStatisticsStringSuite(ITestSuite suite, bool skipAutomatic) { string result = string.Empty; // 20141107 // TestData.RefreshSuiteStatistics(suite, skipAutomatic); var testStatistics = new TestStatistics(); testStatistics.RefreshSuiteStatistics(suite, skipAutomatic); result += @"<div id=""suitestat"">"; int scPassed = 0; int scFailed = 0; int scNotTested = 0; foreach (var tsc in suite.TestScenarios) { switch (tsc.enStatus) { case TestStatuses.Passed: scPassed++; break; case TestStatuses.Failed: scFailed++; break; case TestStatuses.NotRun: scNotTested++; break; default: // 20130428 //throw new Exception("Invalid value for TestScenarioStatuses"); scNotTested++; break; } } // scenarios result += @"Scenarios:"; result += suite.TestScenarios.Count.ToString(); result += " Passed:"; result += scPassed.ToString(); result += " Failed:"; result += scFailed.ToString(); result += " Not tested:"; result += scNotTested.ToString(); result += newLineHTML; // test results result += @"Test cases:"; result += suite.Statistics.All.ToString(); result += " Passed:"; result += suite.Statistics.Passed.ToString(); result += " Failed:"; result += suite.Statistics.Failed.ToString(); result += " Not tested:"; result += suite.Statistics.NotTested.ToString(); result += " Time spent:"; result += Convert.ToInt32(suite.Statistics.TimeSpent).ToString(); result += @" seconds</div>"; return result; }
public XElement CreateScenariosXElementCommon( ITestSuite suite, IOrderedEnumerable<ITestScenario> scenarios, IOrderedEnumerable<ITestResult> testResults, IXMLElementsStruct xmlStruct) { var testScenariosFiltered = from scenario in scenarios where scenario.SuiteId == suite.Id && scenario.PlatformUniqueId == suite.PlatformUniqueId select scenario; if (!testScenariosFiltered.Any()) { return null; } var scenariosElement = new XElement(xmlStruct.ScenariosNode, from scenario in testScenariosFiltered select getScenariosXElement( suite, scenario, // 20141122 // testResults.Where(testResult => testResult.SuiteId == suite.Id && testResult.ScenarioId == scenario.Id).OrderBy(testResult => testResult.Id), testResults.Where( testResult => testResult.SuiteId == suite.Id && testResult.SuiteUniqueId == suite.UniqueId && testResult.ScenarioId == scenario.Id && testResult.ScenarioUniqueId == scenario.UniqueId).OrderBy(testResult => testResult.Id), xmlStruct) ); return scenariosElement; }
public void RequestRun(ITestSuite suite, ITestLogger logger) { int testCount = 0; foreach (var testCase in suite.TestCases) { testCount += testCase.Tests.Length; } TestCount = testCount; TestsCompleted = 0; TestsFailed = 0; TestsIgnored = 0; TestsPassed = 0; GTestRunner runner = new GTestRunner(logger); runner.TestCompleted += RunnerOnTestCompleted; runner.RunCompleted += RunnerOnRunCompleted; runner.Run(suite); }
XElement getScenariosXElement( ITestSuite suite, ITestScenario scenario, IOrderedEnumerable<ITestResult> testResults, IXMLElementsStruct xmlStruct) { var scenariosElement = new XElement(xmlStruct.ScenarioNode, new XAttribute("uniqueId", scenario.UniqueId), new XAttribute("id", scenario.Id), new XAttribute("name", scenario.Name), new XAttribute("status", scenario.Status), createXattribute(xmlStruct.TimeSpentAttribute, Convert.ToInt32(suite.Statistics.TimeSpent)), new XAttribute("all", scenario.Statistics.All.ToString()), new XAttribute("passed", scenario.Statistics.Passed.ToString()), createXattribute(xmlStruct.FailedAttribute, scenario.Statistics.Failed.ToString()), new XAttribute("notTested", scenario.Statistics.NotTested.ToString()), new XAttribute("knownIssue", scenario.Statistics.PassedButWithBadSmell.ToString()), createXattribute("description", scenario.Description), createXattribute("platformId", scenario.PlatformId), createXattribute("platformUniqueId", scenario.PlatformUniqueId), CreateTestResultsXElementCommon( suite, scenario, testResults, xmlStruct) ); return scenariosElement; }