From 63923acbe67fbb81fd486731fca407baf0581638 Mon Sep 17 00:00:00 2001 From: "William C. Smith" Date: Thu, 25 Feb 2016 17:50:53 -0500 Subject: [PATCH 1/3] Fix Issue with Scenario Outline Data Containing Parenthesis --- .../NUnit/NUnitExampleSignatureBuilder.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitExampleSignatureBuilder.cs b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitExampleSignatureBuilder.cs index 55fb3079c..12afa58e3 100644 --- a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitExampleSignatureBuilder.cs +++ b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitExampleSignatureBuilder.cs @@ -34,7 +34,11 @@ public Regex Build(ScenarioOutline scenarioOutline, string[] row) foreach (string value in row) { - stringBuilder.AppendFormat("\"{0}\",", value.ToLowerInvariant().Replace(@"\", string.Empty).Replace(@"$", @"\$")); + stringBuilder.AppendFormat("\"{0}\",", value.ToLowerInvariant() + .Replace(@"\", string.Empty) + .Replace(@"$", @"\$") + .Replace(@"(", @"\(") + .Replace(@")", @"\)")); } stringBuilder.Remove(stringBuilder.Length - 1, 1); From deb22ba46ef02960c7a01da83e5bfd23de53341e Mon Sep 17 00:00:00 2001 From: "William C. Smith" Date: Fri, 26 Feb 2016 13:32:54 -0500 Subject: [PATCH 2/3] Unit Tests / Other SignatureBuilders Fixed - Scenario Outline Comtaining Parens Fix --- ...henParsingCucumberJsonFromJSResultsFile.cs | 6 + ...nParsingCucumberJsonFromRubyResultsFile.cs | 6 + .../results-example-cucumberjs-json.json | 128 +++-- .../CucumberJson/results-example-json.json | 30 +- .../MsTest/WhenParsingMsTestResultsFile.cs | 6 + .../MsTest/results-example-mstest.trx | 542 +++++++++--------- .../NUnit2/WhenParsingNUnitResultsFile.cs | 6 + .../NUnit/NUnit2/results-example-nunit.xml | 111 ++-- .../NUnit3/WhenParsingNunit3ResultsFile.cs | 6 + .../NUnit/NUnit3/results-example-nunit3.xml | 244 ++++---- .../SpecRun/results-example-specrun.html | 4 + .../StandardTestSuite.cs | 15 + .../XUnit1/WhenParsingxUnitResultsFile.cs | 6 + .../XUnit/XUnit1/results-example-xunit.xml | 262 ++++----- .../XUnit2/WhenParsingxUnit2ResultsFile.cs | 6 + .../XUnit/XUnit2/results-example-xunit2.xml | 336 +++++------ .../NUnit/NUnitExampleSignatureBuilder.cs | 3 +- .../XUnit/xUnitExampleSignatureBuilder.cs | 6 +- 18 files changed, 939 insertions(+), 784 deletions(-) diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromJSResultsFile.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromJSResultsFile.cs index fbd882be5..7000d3eb5 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromJSResultsFile.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromJSResultsFile.cs @@ -106,6 +106,12 @@ public WhenParsingCucumberJsonFromJSResultsFile() base.ThenCanReadResultsWithBackslashes(); } + [Test] + public new void ThenCanReadResultsWithParenthesis() + { + base.ThenCanReadResultsWithParenthesis(); + } + [Test] public new void ThenCanReadResultOfScenarioWithFailingBackground() { diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromRubyResultsFile.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromRubyResultsFile.cs index b607c06d3..3c7cee215 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromRubyResultsFile.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/WhenParsingCucumberJsonFromRubyResultsFile.cs @@ -106,6 +106,12 @@ public WhenParsingCucumberJsonFromRubyResultsFile() base.ThenCanReadResultsWithBackslashes(); } + [Test] + public new void ThenCanReadResultsWithParenthesis() + { + base.ThenCanReadResultsWithParenthesis(); + } + [Test] public new void ThenCanReadResultOfScenarioWithFailingBackground() { diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json index f88152f9b..5a263bade 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json @@ -5,7 +5,7 @@ "description": "In order to avoid silly mistakes\r\nAs a math idiot\r\nI want to be told the sum of two numbers", "line": 1, "keyword": "Feature", - "uri": "C:/Dev/Code/GitHub/DirkRombauts/pickles-testresults/TestHarness/CucumberJS/features/Addition.feature", + "uri": "C:/src/pickles-testresults/TestHarness/CucumberJS/features/Addition.feature", "elements": [ { "name": "", @@ -41,7 +41,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 993975 + "duration": 608780 }, "match": {} }, @@ -51,7 +51,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 549749 + "duration": 328155 }, "match": {} }, @@ -61,7 +61,7 @@ "keyword": "And ", "result": { "status": "passed", - "duration": 109052 + "duration": 50375 }, "match": {} }, @@ -71,7 +71,7 @@ "keyword": "And ", "result": { "status": "passed", - "duration": 79544 + "duration": 43829 }, "match": {} }, @@ -81,7 +81,7 @@ "keyword": "When ", "result": { "status": "passed", - "duration": 170955 + "duration": 140882 }, "match": {} }, @@ -91,7 +91,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 211368 + "duration": 1425323 }, "match": {} } @@ -117,7 +117,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 110656 + "duration": 90221 }, "match": {} }, @@ -127,7 +127,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 58054 + "duration": 50376 }, "match": {} }, @@ -137,7 +137,7 @@ "keyword": "And ", "result": { "status": "passed", - "duration": 82430 + "duration": 43546 }, "match": {} }, @@ -147,7 +147,7 @@ "keyword": "And ", "result": { "status": "passed", - "duration": 43942 + "duration": 69729 }, "match": {} }, @@ -157,7 +157,7 @@ "keyword": "When ", "result": { "status": "passed", - "duration": 104561 + "duration": 56922 }, "match": {} }, @@ -167,7 +167,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 51640 + "duration": 41553 }, "match": {} } @@ -193,7 +193,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 123806 + "duration": 45538 }, "match": {} }, @@ -203,7 +203,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 87241 + "duration": 69160 }, "match": {} }, @@ -213,7 +213,7 @@ "keyword": "And ", "result": { "status": "passed", - "duration": 42979 + "duration": 130352 }, "match": {} }, @@ -223,7 +223,7 @@ "keyword": "When ", "result": { "status": "passed", - "duration": 92694 + "duration": 33015 }, "match": {} }, @@ -233,7 +233,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 46507 + "duration": 36715 }, "match": {} } @@ -259,7 +259,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 136315 + "duration": 56637 }, "match": {} }, @@ -269,7 +269,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 151069 + "duration": 41553 }, "match": {} }, @@ -316,7 +316,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 219066 + "duration": 99044 }, "match": {} }, @@ -357,7 +357,7 @@ "description": "This feature has a failing background.", "line": 1, "keyword": "Feature", - "uri": "C:/Dev/Code/GitHub/DirkRombauts/pickles-testresults/TestHarness/CucumberJS/features/FailingBackground.feature", + "uri": "C:/src/pickles-testresults/TestHarness/CucumberJS/features/FailingBackground.feature", "elements": [ { "name": "", @@ -392,8 +392,8 @@ "keyword": "Given ", "result": { "status": "failed", - "duration": 4917275, - "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\Dev\\Code\\GitHub\\DirkRombauts\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\AdditionSteps.js:36:13)\n at nextTickCallbackWith0Args (node.js:456:9)\n at process._tickCallback (node.js:385:13)\n at Function.Module.runMain (module.js:432:11)\n at startup (node.js:141:18)\n at node.js:1003:3" + "duration": 1778808, + "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\AdditionSteps.js:36:13)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} }, @@ -458,8 +458,8 @@ "keyword": "Given ", "result": { "status": "failed", - "duration": 744119, - "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\Dev\\Code\\GitHub\\DirkRombauts\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\AdditionSteps.js:36:13)\n at nextTickCallbackWith0Args (node.js:456:9)\n at process._tickCallback (node.js:385:13)\n at Function.Module.runMain (module.js:432:11)\n at startup (node.js:141:18)\n at node.js:1003:3" + "duration": 341816, + "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\AdditionSteps.js:36:13)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} }, @@ -533,8 +533,8 @@ "keyword": "Given ", "result": { "status": "failed", - "duration": 682215, - "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\Dev\\Code\\GitHub\\DirkRombauts\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\AdditionSteps.js:36:13)\n at nextTickCallbackWith0Args (node.js:456:9)\n at process._tickCallback (node.js:385:13)\n at Function.Module.runMain (module.js:432:11)\n at startup (node.js:141:18)\n at node.js:1003:3" + "duration": 330716, + "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\AdditionSteps.js:36:13)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} }, @@ -602,7 +602,7 @@ "description": "", "line": 1, "keyword": "Feature", - "uri": "C:/Dev/Code/GitHub/DirkRombauts/pickles-testresults/TestHarness/CucumberJS/features/Minimal Features/Failing.feature", + "uri": "C:/src/pickles-testresults/TestHarness/CucumberJS/features/Minimal Features/Failing.feature", "elements": [ { "name": "Failing Feature Passing Scenario", @@ -618,7 +618,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 147861 + "duration": 82537 }, "match": {} } @@ -657,8 +657,8 @@ "keyword": "Then ", "result": { "status": "failed", - "duration": 1813146, - "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\Dev\\Code\\GitHub\\DirkRombauts\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\MinimalSteps.js:18:12)\n at nextTickCallbackWith0Args (node.js:456:9)\n at process._tickCallback (node.js:385:13)\n at Function.Module.runMain (module.js:432:11)\n at startup (node.js:141:18)\n at node.js:1003:3" + "duration": 233664, + "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\MinimalSteps.js:18:12)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} } @@ -672,7 +672,7 @@ "description": "", "line": 1, "keyword": "Feature", - "uri": "C:/Dev/Code/GitHub/DirkRombauts/pickles-testresults/TestHarness/CucumberJS/features/Minimal Features/Inconclusive.feature", + "uri": "C:/src/pickles-testresults/TestHarness/CucumberJS/features/Minimal Features/Inconclusive.feature", "elements": [ { "name": "Inconclusive Feature Passing Scenario", @@ -688,7 +688,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 135993 + "duration": 38707 }, "match": {} } @@ -721,7 +721,7 @@ "description": "", "line": 1, "keyword": "Feature", - "uri": "C:/Dev/Code/GitHub/DirkRombauts/pickles-testresults/TestHarness/CucumberJS/features/Minimal Features/Passing.feature", + "uri": "C:/src/pickles-testresults/TestHarness/CucumberJS/features/Minimal Features/Passing.feature", "elements": [ { "name": "Passing Feature Passing Scenario", @@ -737,7 +737,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 215217 + "duration": 36430 }, "match": {} } @@ -751,7 +751,7 @@ "description": "", "line": 1, "keyword": "Feature", - "uri": "C:/Dev/Code/GitHub/DirkRombauts/pickles-testresults/TestHarness/CucumberJS/features/NotAutomatedAtAll.feature", + "uri": "C:/src/pickles-testresults/TestHarness/CucumberJS/features/NotAutomatedAtAll.feature", "elements": [ { "name": "", @@ -913,7 +913,7 @@ "description": "Here we demonstrate how we deal with scenario outlines", "line": 1, "keyword": "Feature", - "uri": "C:/Dev/Code/GitHub/DirkRombauts/pickles-testresults/TestHarness/CucumberJS/features/ScenarioOutlines.feature", + "uri": "C:/src/pickles-testresults/TestHarness/CucumberJS/features/ScenarioOutlines.feature", "elements": [ { "name": "This is a scenario outline where all scenarios pass", @@ -929,7 +929,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 258838 + "duration": 92498 }, "match": {} } @@ -949,7 +949,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 166785 + "duration": 35860 }, "match": {} } @@ -969,7 +969,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 184105 + "duration": 40984 }, "match": {} } @@ -989,7 +989,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 191482 + "duration": 34438 }, "match": {} } @@ -1009,7 +1009,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 179935 + "duration": 33869 }, "match": {} } @@ -1048,7 +1048,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 190520 + "duration": 34437 }, "match": {} } @@ -1068,7 +1068,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 647255 + "duration": 32161 }, "match": {} } @@ -1088,8 +1088,8 @@ "keyword": "Then ", "result": { "status": "failed", - "duration": 750213, - "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\Dev\\Code\\GitHub\\DirkRombauts\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:18:12)\n at nextTickCallbackWith0Args (node.js:456:9)\n at process._tickCallback (node.js:385:13)\n at Function.Module.runMain (module.js:432:11)\n at startup (node.js:141:18)\n at node.js:1003:3" + "duration": 220857, + "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:18:12)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} } @@ -1109,7 +1109,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 126372 + "duration": 33015 }, "match": {} } @@ -1129,7 +1129,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 128938 + "duration": 41268 }, "match": {} } @@ -1187,8 +1187,8 @@ "keyword": "Then ", "result": { "status": "failed", - "duration": 444547, - "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\Dev\\Code\\GitHub\\DirkRombauts\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:18:12)\n at nextTickCallbackWith0Args (node.js:456:9)\n at process._tickCallback (node.js:385:13)\n at Function.Module.runMain (module.js:432:11)\n at startup (node.js:141:18)\n at node.js:1003:3" + "duration": 565803, + "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:18:12)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} } @@ -1208,8 +1208,8 @@ "keyword": "Then ", "result": { "status": "failed", - "duration": 443264, - "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\Dev\\Code\\GitHub\\DirkRombauts\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:18:12)\n at nextTickCallbackWith0Args (node.js:456:9)\n at process._tickCallback (node.js:385:13)\n at Function.Module.runMain (module.js:432:11)\n at startup (node.js:141:18)\n at node.js:1003:3" + "duration": 299125, + "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:18:12)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} } @@ -1229,7 +1229,27 @@ "keyword": "When ", "result": { "status": "passed", - "duration": 192444 + "duration": 64891 + }, + "match": {} + } + ] + }, + { + "name": "Deal correctly with parenthesis in the examples", + "id": "Scenario-Outlines;deal-correctly-with-parenthesis-in-the-examples", + "line": 78, + "keyword": "Scenario", + "description": "", + "type": "scenario", + "steps": [ + { + "name": "I have parenthesis in the value, for example a 'This is a description (and more)'", + "line": 74, + "keyword": "When ", + "result": { + "status": "passed", + "duration": 59483 }, "match": {} } diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json index cce1e6d56..c70ebc0bf 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json @@ -99,7 +99,7 @@ }, "result": { "status": "passed", - "duration": 999000 + "duration": 1000000 } } ] @@ -343,7 +343,7 @@ "result": { "status": "failed", "error_message": "\nexpected: \"fail\"\n got: \"this is a hacky way of making the scenario with a non-integer number\"\n\n(compared using eql?)\n (RSpec::Expectations::ExpectationNotMetError)\n./features/step_definitions/AdditionSteps.rb:11:in `/^I have entered (\\d+)\\.(\\d+) into the calculator$/'\nfeatures/Addition.feature:32:in `And I have entered 2.2 into the calculator'", - "duration": 11999000 + "duration": 12991000 } }, { @@ -777,7 +777,7 @@ "result": { "status": "pending", "error_message": "TODO (Cucumber::Pending)\n./features/step_definitions/MinimalSteps.rb:6:in `/^inconclusive step$/'\nfeatures/Minimal Features/Failing.feature:7:in `Then inconclusive step'", - "duration": 0 + "duration": 999000 } } ] @@ -1409,7 +1409,7 @@ "result": { "status": "failed", "error_message": "\nexpected: \"false\"\n got: \"true\"\n\n(compared using eql?)\n (RSpec::Expectations::ExpectationNotMetError)\n./features/step_definitions/ScenarioOutlineSteps.rb:10:in `/^the scenario will 'fail_(\\d+)'$/'\nfeatures/ScenarioOutlines.feature:59:in `Then the scenario will 'fail_1''\nfeatures/ScenarioOutlines.feature:45:in `Then the scenario will '''", - "duration": 500000 + "duration": 0 } } ] @@ -1458,6 +1458,28 @@ } } ] + }, + { + "id": "scenario-outlines;deal-correctly-with-parenthesis-in-the-examples;;2", + "keyword": "Scenario Outline", + "name": "Deal correctly with parenthesis in the examples", + "description": "", + "line": 78, + "type": "scenario", + "steps": [ + { + "keyword": "When ", + "name": "I have parenthesis in the value, for example a 'This is a description (and more)'", + "line": 78, + "match": { + "location": "features/step_definitions/ScenarioOutlineSteps.rb:17" + }, + "result": { + "status": "passed", + "duration": 0 + } + } + ] } ] } diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFile.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFile.cs index 11cba7ef5..fbe05d5c0 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFile.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/WhenParsingMsTestResultsFile.cs @@ -112,6 +112,12 @@ public WhenParsingMsTestResultsFile() base.ThenCanReadResultsWithBackslashes(); } + [Test] + public new void ThenCanReadResultsWithParenthesis() + { + base.ThenCanReadResultsWithParenthesis(); + } + [Test] public new void ThenCanReadResultOfScenarioWithFailingBackground() { diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx index cdfe844f0..7be790f0b 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx @@ -1,8 +1,8 @@  - + These are default test settings for a local test run. - + @@ -10,28 +10,28 @@ - + - + - + Not automated scenario 1 - + FeatureTitle Not Automated At All - + - + Adding several numbers - + Parameter:first number @@ -58,11 +58,11 @@ Addition - + - + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -77,66 +77,66 @@ fail_2 - + - + Not automated scenario 3 - + FeatureTitle Not Automated At All - + - + Add two numbers - + FeatureTitle Failing Background - + - + Failing Feature Inconclusive Scenario - + FeatureTitle Failing - + - + Inconclusive Feature Inconclusive Scenario - + FeatureTitle Inconclusive - + - + Failing Feature Passing Scenario - + FeatureTitle Failing - + - + Deal correctly with backslashes in the examples - + FeatureTitle @@ -151,11 +151,11 @@ c:\Temp\ - + - + This is a scenario outline where one scenario fails - + FeatureTitle @@ -170,11 +170,11 @@ pass_2 - + - + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -189,14 +189,14 @@ fail_1 - + - + Adding several numbers - + Parameter:first number @@ -223,11 +223,11 @@ Addition - + - + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -242,22 +242,41 @@ pass_2 - + - + Failing Feature Failing Scenario - + FeatureTitle Failing - + - + + Deal correctly with parenthesis in the examples + + + + FeatureTitle + Scenario Outlines + + + VariantName + This is a description (and more) + + + Parameter:overly descriptive field + This is a description (and more) + + + + + This is a scenario outline where one scenario is inconclusive - + FeatureTitle @@ -272,11 +291,11 @@ pass_1 - + - + This is a scenario outline where all scenarios pass - + FeatureTitle @@ -291,22 +310,22 @@ pass_2 - + - + Inconclusive Feature Passing Scenario - + FeatureTitle Inconclusive - + - + This is a scenario outline where one scenario is inconclusive - + FeatureTitle @@ -321,35 +340,35 @@ inconclusive_1 - + - - + + FeatureTitle Addition - + - + Add two numbers - + FeatureTitle Addition - + - + This is a scenario outline where one scenario is inconclusive - + FeatureTitle @@ -364,11 +383,11 @@ pass_2 - + - + This is a scenario outline where one scenario fails - + FeatureTitle @@ -383,11 +402,11 @@ fail_1 - + - + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -402,11 +421,11 @@ inconclusive_2 - + - + Adding several numbers - + Parameter:first number @@ -433,22 +452,22 @@ Failing Background - + - + Not automated scenario 2 - + FeatureTitle Not Automated At All - + - + This is a scenario outline where all scenarios pass - + FeatureTitle @@ -463,11 +482,11 @@ pass_1 - + - + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -482,22 +501,22 @@ pass_1 - + - + Passing Feature Passing Scenario - + FeatureTitle Passing - + - + This is a scenario outline where all scenarios pass - + FeatureTitle @@ -512,11 +531,11 @@ pass_3 - + - + This is a scenario outline where one scenario fails - + FeatureTitle @@ -531,11 +550,11 @@ pass_1 - + - + Adding several numbers - + Parameter:first number @@ -562,36 +581,36 @@ Failing Background - + - + Fail to add two numbers - + FeatureTitle Addition - + - + Not automated adding two numbers - + FeatureTitle Addition - + - + And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -606,7 +625,7 @@ inconclusive_1 - + @@ -614,98 +633,99 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 40 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0.0s) And I have entered 50 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0.0s) And I have entered 90 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 180 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0,0s) +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0.0s) - + Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 60 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0.0s) And I have entered 70 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0.0s) And I have entered 130 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 260 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0,0s) +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0.0s) - + Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 1 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0.0s) And I have entered 2 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 3 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0,0s) +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0.0s) - + Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 1 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0.0s) And I have entered 2.2 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2,2) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2.2) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 3.2 on the screen -> error: Input string was not in a correct format. @@ -727,16 +747,16 @@ System.FormatException: Input string was not in a correct format. at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:line 0 - at Pickles.TestHarness.MsTest.AdditionFeature.FailToAddTwoNumbers() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Addition.feature:line 34 + at Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:line 0 + at Pickles.TestHarness.MsTest.AdditionFeature.FailToAddTwoNumbers() in C:\src\pickles-testresults\TestHarness\MsTest\Addition.feature:line 34 - + Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] @@ -796,13 +816,13 @@ namespace MyNamespace at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:line 0 - at Pickles.TestHarness.MsTest.AdditionFeature.NotAutomatedAddingTwoNumbers() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Addition.feature:line 46 + at Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:line 0 + at Pickles.TestHarness.MsTest.AdditionFeature.NotAutomatedAddingTwoNumbers() in C:\src\pickles-testresults\TestHarness\MsTest\Addition.feature:line 46 - + Given the background step fails -> error: @@ -833,21 +853,21 @@ Shouldly.ChuckedAWobbly: 1 at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 + at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\src\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 at lambda_method(Closure , IContextManager ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 19 - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_40() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 19 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_40() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 - + Given the background step fails -> error: @@ -878,21 +898,21 @@ Shouldly.ChuckedAWobbly: 1 at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 + at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\src\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 at lambda_method(Closure , IContextManager ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 19 - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_60() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 19 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_60() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 - + Given the background step fails -> error: @@ -921,20 +941,20 @@ Shouldly.ChuckedAWobbly: 1 at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 + at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\src\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 at lambda_method(Closure , IContextManager ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddTwoNumbers() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 12 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddTwoNumbers() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 12 - + Then failing step -> error: @@ -953,20 +973,20 @@ Shouldly.ChuckedAWobbly: True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:line 24 + at AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in C:\src\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:line 24 at lambda_method(Closure , IContextManager ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:line 0 - at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:line 10 + at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:line 0 + at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:line 10 - + Then inconclusive step -> pending: MinimalSteps.ThenInconclusiveStep() @@ -979,19 +999,19 @@ Shouldly.ChuckedAWobbly: at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:line 0 - at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:line 7 + at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:line 0 + at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:line 7 - + Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) +-> done: MinimalSteps.ThenPassingStep() (0.0s) - + Then inconclusive step -> pending: MinimalSteps.ThenInconclusiveStep() @@ -1004,25 +1024,25 @@ Shouldly.ChuckedAWobbly: at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature.cs:line 0 - at Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature:line 7 + at Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature.cs:line 0 + at Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature:line 7 - + Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) +-> done: MinimalSteps.ThenPassingStep() (0.0s) - + Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) +-> done: MinimalSteps.ThenPassingStep() (0.0s) - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -1091,13 +1111,13 @@ namespace MyNamespace at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario1() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 9 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario1() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 9 - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -1166,13 +1186,13 @@ namespace MyNamespace at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario2() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 14 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario2() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 14 - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -1241,27 +1261,27 @@ namespace MyNamespace at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario3() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 19 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario3() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 19 - + - + Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) - + Then the scenario will 'inconclusive_1' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") @@ -1274,14 +1294,14 @@ namespace MyNamespace at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + Then the scenario will 'inconclusive_2' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") @@ -1294,14 +1314,14 @@ namespace MyNamespace at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + Then the scenario will 'fail_1' -> error: @@ -1320,21 +1340,21 @@ Shouldly.ChuckedAWobbly: True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 + at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\src\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 at lambda_method(Closure , IContextManager , String ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_1() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_1() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + Then the scenario will 'fail_2' -> error: @@ -1353,45 +1373,51 @@ Shouldly.ChuckedAWobbly: True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 + at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\src\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 at lambda_method(Closure , IContextManager , String ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_2() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_2() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + When I have backslashes in the value, for example a 'c:\Temp\' --> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0,0s) +-> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0.0s) + + + + + When I have parenthesis in the value, for example a 'This is a description (and more)' +-> done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0.0s) - + Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) - + Then the scenario will 'pass_3' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0.0s) - + Then the scenario will 'fail_1' -> error: @@ -1410,33 +1436,33 @@ Shouldly.ChuckedAWobbly: True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 + at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\src\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 at lambda_method(Closure , IContextManager , String ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 34 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails_Fail_1() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 34 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails_Fail_1() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) - + Then the scenario will 'inconclusive_1' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") @@ -1449,23 +1475,23 @@ Shouldly.ChuckedAWobbly: at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 21 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 21 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenParsingNUnitResultsFile.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenParsingNUnitResultsFile.cs index 5c88985b0..0cffdaf3d 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenParsingNUnitResultsFile.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/WhenParsingNUnitResultsFile.cs @@ -106,6 +106,12 @@ public WhenParsingNUnitResultsFile() base.ThenCanReadResultsWithBackslashes(); } + [Test] + public new void ThenCanReadResultsWithParenthesis() + { + base.ThenCanReadResultsWithParenthesis(); + } + [Test] public new void ThenCanReadResultOfScenarioWithFailingBackground() { diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml index fdcc5ecca..587f5fca3 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml @@ -1,24 +1,24 @@ - - - - + + + + - + - + - + - + - + - + @@ -27,7 +27,7 @@ - + @@ -43,8 +43,8 @@ at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() -at Pickles.TestHarness.nunit.AdditionFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\nunit\Addition.feature.cs:line 0 -at Pickles.TestHarness.nunit.AdditionFeature.FailToAddTwoNumbers() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\nunit\Addition.feature:line 34 +at Pickles.TestHarness.nunit.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\nunit\Addition.feature.cs:line 0 +at Pickles.TestHarness.nunit.AdditionFeature.FailToAddTwoNumbers() in C:\src\pickles-testresults\TestHarness\nunit\Addition.feature:line 34 ]]> @@ -53,7 +53,7 @@ at Pickles.TestHarness.nunit.AdditionFeature.FailToAddTwoNumbers() in C:\Dev\Cod - + - + - + - + @@ -122,13 +122,13 @@ at Pickles.TestHarness.nunit.FailingBackgroundFeature.AddingSeveralNumbers(Strin 1]]> @@ -144,21 +144,21 @@ at Pickles.TestHarness.nunit.FailingBackgroundFeature.AddingSeveralNumbers(Strin 1]]> - + - + @@ -170,13 +170,13 @@ at Pickles.TestHarness.nunit.FailingBackgroundFeature.AddTwoNumbers() in C:\Dev\ True]]> @@ -189,7 +189,7 @@ at Pickles.TestHarness.nunit.MinimalFeatures.FailingFeature.FailingFeatureFailin - + @@ -207,9 +207,9 @@ at Pickles.TestHarness.nunit.MinimalFeatures.FailingFeature.FailingFeatureFailin - + - + - + - + - + - + - + - + @@ -338,13 +338,13 @@ namespace MyNamespace True]]> @@ -358,13 +358,13 @@ at Pickles.TestHarness.nunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWit True]]> @@ -375,18 +375,23 @@ at Pickles.TestHarness.nunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWit - + + + + + + - + - + - + diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenParsingNunit3ResultsFile.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenParsingNunit3ResultsFile.cs index c671fd244..b65b020e7 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenParsingNunit3ResultsFile.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/WhenParsingNunit3ResultsFile.cs @@ -76,6 +76,12 @@ public WhenParsingNunit3ResultsFile() base.ThenCanReadResultsWithBackslashes(); } + [Test] + public new void ThenCanReadResultsWithParenthesis() + { + base.ThenCanReadResultsWithParenthesis(); + } + [Test] public new void ThenCanReadResultOfScenarioWithFailingBackground() { diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml index 840fb433d..820b73870 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml @@ -1,92 +1,92 @@  - - - - + + + + - + - + - + - + - + - + - + - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 60 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0.0s) And I have entered 70 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0.0s) And I have entered 130 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 260 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0,0s) +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0.0s) ]]> - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 40 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0.0s) And I have entered 50 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0.0s) And I have entered 90 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 180 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0,0s) +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0.0s) ]]> - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 1 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0.0s) And I have entered 2 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 3 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0,0s) +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0.0s) ]]> - + @@ -103,22 +103,22 @@ Then the result should be 3 on the screen at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - at Pickles.TestHarness.nunit3.AdditionFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\nunit3\Addition.feature.cs:line 0 - at Pickles.TestHarness.nunit3.AdditionFeature.FailToAddTwoNumbers() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\nunit3\Addition.feature:line 34]]> + at Pickles.TestHarness.nunit3.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\nunit3\Addition.feature.cs:line 0 + at Pickles.TestHarness.nunit3.AdditionFeature.FailToAddTwoNumbers() in C:\src\pickles-testresults\TestHarness\nunit3\Addition.feature:line 34]]> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 1 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0.0s) And I have entered 2.2 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2,2) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2.2) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 3.2 on the screen -> error: Input string was not in a correct format. ]]> - + @@ -127,7 +127,7 @@ Then the result should be 3.2 on the screen - + @@ -163,7 +163,7 @@ namespace MyNamespace ]]> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] @@ -191,21 +191,21 @@ Then unimplemented step ]]> - + - + - + + at Pickles.TestHarness.nunit3.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\nunit3\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.nunit3.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\nunit3\FailingBackground.feature:line 19]]> error: @@ -244,7 +244,7 @@ Then the result should be 260 on the screen -> skipped because of previous errors ]]> - + + at Pickles.TestHarness.nunit3.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\nunit3\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.nunit3.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\nunit3\FailingBackground.feature:line 19]]> error: @@ -284,7 +284,7 @@ Then the result should be 180 on the screen ]]> - + @@ -297,13 +297,13 @@ Then the result should be 180 on the screen 1]]> + at Pickles.TestHarness.nunit3.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\nunit3\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.nunit3.FailingBackgroundFeature.AddTwoNumbers() in C:\src\pickles-testresults\TestHarness\nunit3\FailingBackground.feature:line 12]]> error: @@ -325,18 +325,18 @@ Then the result should be 120 on the screen ]]> - + - + - + @@ -349,13 +349,13 @@ Then the result should be 120 on the screen True]]> + at Pickles.TestHarness.nunit3.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\nunit3\Minimal Features\Failing.feature.cs:line 0 + at Pickles.TestHarness.nunit3.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in C:\src\pickles-testresults\TestHarness\nunit3\Minimal Features\Failing.feature:line 10]]> error: @@ -366,7 +366,7 @@ Then the result should be 120 on the screen True ]]> - + @@ -378,20 +378,20 @@ Then the result should be 120 on the screen -> pending: MinimalSteps.ThenInconclusiveStep() ]]> - + done: MinimalSteps.ThenPassingStep() (0,0s) +-> done: MinimalSteps.ThenPassingStep() (0.0s) ]]> - + - + @@ -403,51 +403,51 @@ Then the result should be 120 on the screen -> pending: MinimalSteps.ThenInconclusiveStep() ]]> - + done: MinimalSteps.ThenPassingStep() (0,0s) +-> done: MinimalSteps.ThenPassingStep() (0.0s) ]]> - + - + done: MinimalSteps.ThenPassingStep() (0,0s) +-> done: MinimalSteps.ThenPassingStep() (0.0s) ]]> - + - + - + at Pickles.TestHarness.nunit3.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\nunit3\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.nunit3.NotAutomatedAtAllFeature.AddTwoNumbers() in C:\src\pickles-testresults\TestHarness\nunit3\NotAutomatedAtAll.feature:line 11]]> error: Object reference not set to an instance of an object. @@ -460,31 +460,31 @@ Then the result should be 120 on the screen ]]> - + - + - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) ]]> - + @@ -493,7 +493,7 @@ Then the result should be 120 on the screen -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") ]]> - + @@ -502,7 +502,7 @@ Then the result should be 120 on the screen -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") ]]> - + + at Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature:line 45]]> error: @@ -529,7 +529,7 @@ Then the result should be 120 on the screen True ]]> - + + at Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature:line 45]]> error: @@ -557,54 +557,64 @@ Then the result should be 120 on the screen ]]> - + - + done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0,0s) +-> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0.0s) ]]> - + + + + + + done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0.0s) +]]> + + + - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0.0s) ]]> - + - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) ]]> - + + at Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.nunit3.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\nunit3\ScenarioOutlines.feature:line 34]]> error: @@ -632,21 +642,21 @@ Then the result should be 120 on the screen ]]> - + - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) ]]> - + diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/results-example-specrun.html b/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/results-example-specrun.html index 72bffb7eb..6ff77e6da 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/results-example-specrun.html +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/SpecRun/results-example-specrun.html @@ -178,6 +178,10 @@ <title>Deal correctly with backslashes in the examples, c:\Temp\</title> <result>Passed</result> </scenario> + <scenario> + <title>Deal correctly with parenthesis in the examples, This is a description (and more)</title> + <result>Passed</result> + </scenario> </scenarios> </feature> </features> diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/StandardTestSuite.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/StandardTestSuite.cs index 714869712..3238cedec 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/StandardTestSuite.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/StandardTestSuite.cs @@ -180,6 +180,21 @@ public void ThenCanReadResultsWithBackslashes() Check.That(exampleResult1).IsEqualTo(TestResult.Passed); } + public void ThenCanReadResultsWithParenthesis() + { + var results = ParseResultsFile(); + + var feature = new Feature { Name = "Scenario Outlines" }; + + var scenarioOutline = new ScenarioOutline { Name = "Deal correctly with parenthesis in the examples", Feature = feature }; + + TestResult exampleResultOutline = results.GetScenarioOutlineResult(scenarioOutline); + Check.That(exampleResultOutline).IsEqualTo(TestResult.Passed); + + TestResult exampleResult1 = results.GetExampleResult(scenarioOutline, new[] { @"This is a description (and more)" }); + Check.That(exampleResult1).IsEqualTo(TestResult.Passed); + } + public void ThenCanReadResultOfScenarioWithFailingBackground() { var results = ParseResultsFile(); diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/WhenParsingxUnitResultsFile.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/WhenParsingxUnitResultsFile.cs index acdcec41c..e2d87f5cc 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/WhenParsingxUnitResultsFile.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/WhenParsingxUnitResultsFile.cs @@ -76,6 +76,12 @@ public WhenParsingxUnitResultsFile() base.ThenCanReadResultsWithBackslashes(); } + [Test] + public new void ThenCanReadResultsWithParenthesis() + { + base.ThenCanReadResultsWithParenthesis(); + } + [Test] public new void ThenCanReadNotFoundFeatureCorrectly() { diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml index 6750283a6..151eb27f6 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml @@ -1,5 +1,60 @@ -IgnoredGiven the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +IgnoredGiven the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) +Given I have entered 1 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0.0s) +And I have entered 2.2 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2.2) (0.0s) +When I press add +-> done: AdditionSteps.WhenIPressAdd() (0.0s) +Then the result should be 3.2 on the screen +-> error: Input string was not in a correct format. +System.FormatException : Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) + at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) + at System.String.System.IConvertible.ToInt32(IFormatProvider provider) + at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) + at System.Linq.Enumerable.<SelectIterator>d__5`2.MoveNext() + at System.Linq.Buffer`1..ctor(IEnumerable`1 source) + at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) + at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) + at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) + at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() + at Pickles.TestHarness.xunit.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\Addition.feature.cs:line 0 + at Pickles.TestHarness.xunit.AdditionFeature.FailToAddTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit\Addition.feature:line 34Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) +Given I have entered 60 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0.0s) +And I have entered 70 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0.0s) +And I have entered 130 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0.0s) +When I press add +-> done: AdditionSteps.WhenIPressAdd() (0.0s) +Then the result should be 260 on the screen +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0.0s) +Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) +Given I have entered 40 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0.0s) +And I have entered 50 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0.0s) +And I have entered 90 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0.0s) +When I press add +-> done: AdditionSteps.WhenIPressAdd() (0.0s) +Then the result should be 180 on the screen +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0.0s) +Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) +Given I have entered 1 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0.0s) +And I have entered 2 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2) (0.0s) +When I press add +-> done: AdditionSteps.WhenIPressAdd() (0.0s) +Then the result should be 3 on the screen +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0.0s) +Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] @@ -53,63 +108,8 @@ namespace MyNamespace } } at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.AdditionFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\Addition.feature.cs:line 0 - at Pickles.TestHarness.xunit.AdditionFeature.NotAutomatedAddingTwoNumbers() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\Addition.feature:line 46Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -Given I have entered 60 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0,0s) -And I have entered 70 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0,0s) -And I have entered 130 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0,0s) -When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) -Then the result should be 260 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0,0s) -Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -Given I have entered 40 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0,0s) -And I have entered 50 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0,0s) -And I have entered 90 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0,0s) -When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) -Then the result should be 180 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0,0s) -Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -Given I have entered 1 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) -And I have entered 2 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2) (0,0s) -When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) -Then the result should be 3 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0,0s) -Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) -Given I have entered 1 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) -And I have entered 2.2 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2,2) (0,0s) -When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) -Then the result should be 3.2 on the screen --> error: Input string was not in a correct format. -System.FormatException : Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) - at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) - at System.String.System.IConvertible.ToInt32(IFormatProvider provider) - at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) - at System.Linq.Enumerable.<SelectIterator>d__5`2.MoveNext() - at System.Linq.Buffer`1..ctor(IEnumerable`1 source) - at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) - at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) - at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) - at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - at Pickles.TestHarness.xunit.AdditionFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\Addition.feature.cs:line 0 - at Pickles.TestHarness.xunit.AdditionFeature.FailToAddTwoNumbers() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\Addition.feature:line 34Given the background step fails + at Pickles.TestHarness.xunit.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\Addition.feature.cs:line 0 + at Pickles.TestHarness.xunit.AdditionFeature.NotAutomatedAddingTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit\Addition.feature:line 46Given the background step fails -> error: 1 should be @@ -135,13 +135,13 @@ Then the result should be 260 on the screen but was 1 at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 + at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\src\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - at Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:line 0 - at Pickles.TestHarness.xunit.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\FailingBackground.feature:line 19Given the background step fails + at Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.xunit.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\FailingBackground.feature:line 19Given the background step fails -> error: 1 should be @@ -167,13 +167,13 @@ Then the result should be 180 on the screen but was 1 at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 + at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\src\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - at Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:line 0 - at Pickles.TestHarness.xunit.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\FailingBackground.feature:line 19Given the background step fails + at Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.xunit.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\FailingBackground.feature:line 19Given the background step fails -> error: 1 should be @@ -197,13 +197,13 @@ Then the result should be 120 on the screen but was 1 at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 + at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\src\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - at Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:line 0 - at Pickles.TestHarness.xunit.FailingBackgroundFeature.AddTwoNumbers() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\FailingBackground.feature:line 12Given unimplemented step + at Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.xunit.FailingBackgroundFeature.AddTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit\FailingBackground.feature:line 12Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] public void GivenUnimplementedStep() @@ -264,8 +264,8 @@ namespace MyNamespace } } at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario1() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 9Given unimplemented step + at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario3() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 19Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] public void GivenUnimplementedStep() @@ -326,8 +326,8 @@ namespace MyNamespace } } at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario3() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 19Given unimplemented step + at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario1() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 9Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] public void GivenUnimplementedStep() @@ -388,18 +388,22 @@ namespace MyNamespace } } at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario2() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 14Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) -Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) -Then the scenario will 'pass_3' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0,0s) -Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) -Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) -Then the scenario will 'fail_1' + at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario2() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 14Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) +Then the scenario will 'pass_2' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) +Then the scenario will 'inconclusive_1' +-> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") +TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. + ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'inconclusive_2' +-> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") +TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. + ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'fail_1' -> error: true should be @@ -413,29 +417,13 @@ namespace MyNamespace but was True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 + at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\src\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 34When I have backslashes in the value, for example a 'c:\Temp\' --> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0,0s) -Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) -Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) -Then the scenario will 'inconclusive_1' --> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") -TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. - ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'inconclusive_2' --> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") -TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. - ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'fail_1' + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'fail_2' -> error: true should be @@ -449,13 +437,34 @@ namespace MyNamespace but was True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 + at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\src\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'fail_2' + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45When I have backslashes in the value, for example a 'c:\Temp\' +-> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0.0s) +Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) +Then the scenario will 'pass_2' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) +Then the scenario will 'inconclusive_1' +-> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") +TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. + ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 21Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) +Then the scenario will 'pass_2' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) +Then the scenario will 'pass_3' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0.0s) +Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) +Then the scenario will 'pass_2' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) +Then the scenario will 'fail_1' -> error: true should be @@ -469,22 +478,17 @@ namespace MyNamespace but was True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 + at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\src\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) -Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) -Then the scenario will 'inconclusive_1' --> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") -TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. - ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 21Then failing step + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 34When I have parenthesis in the value, for example a 'This is a description (and more)' +-> done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0.0s) +Then passing step +-> done: MinimalSteps.ThenPassingStep() (0.0s) +Then failing step -> error: true should be @@ -498,26 +502,24 @@ namespace MyNamespace but was True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:line 24 + at AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in C:\src\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:line 24 at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - at Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature.cs:line 0 - at Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature:line 10Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) -Then inconclusive step + at Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature.cs:line 0 + at Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature:line 10Then inconclusive step -> pending: MinimalSteps.ThenInconclusiveStep() TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. MinimalSteps.ThenInconclusiveStep() at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature.cs:line 0 - at Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature:line 7Then inconclusive step + at Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature.cs:line 0 + at Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature:line 7Then passing step +-> done: MinimalSteps.ThenPassingStep() (0.0s) +Then inconclusive step -> pending: MinimalSteps.ThenInconclusiveStep() TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. MinimalSteps.ThenInconclusiveStep() at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\Minimal Features\Inconclusive.feature.cs:line 0 - at Pickles.TestHarness.xunit.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\xunit\Minimal Features\Inconclusive.feature:line 7Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) -Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) + at Pickles.TestHarness.xunit.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Inconclusive.feature.cs:line 0 + at Pickles.TestHarness.xunit.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Inconclusive.feature:line 7Then passing step +-> done: MinimalSteps.ThenPassingStep() (0.0s) \ No newline at end of file diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenParsingxUnit2ResultsFile.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenParsingxUnit2ResultsFile.cs index dde407b59..6b2566207 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenParsingxUnit2ResultsFile.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/WhenParsingxUnit2ResultsFile.cs @@ -76,6 +76,12 @@ public WhenParsingxUnit2ResultsFile() base.ThenCanReadResultsWithBackslashes(); } + [Test] + public new void ThenCanReadResultsWithParenthesis() + { + base.ThenCanReadResultsWithParenthesis(); + } + [Test] public new void ThenCanReadNotFoundFeatureCorrectly() { diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml index 46d10e16f..058d92985 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml @@ -1,47 +1,9 @@  - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -50,16 +12,16 @@ + at Pickles.TestHarness.xunit2.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.xunit2.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\FailingBackground.feature:line 19]]> - + @@ -68,16 +30,16 @@ + at Pickles.TestHarness.xunit2.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.xunit2.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\FailingBackground.feature:line 19]]> - + @@ -86,130 +48,100 @@ + at Pickles.TestHarness.xunit2.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.xunit2.FailingBackgroundFeature.AddTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit2\FailingBackground.feature:line 12]]> - - - - - - - - + + - - + + - - - + + + - + - - + + - + + at Pickles.TestHarness.xunit2.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.xunit2.NotAutomatedAtAllFeature.NotAutomatedScenario3() in C:\src\pickles-testresults\TestHarness\xunit2\NotAutomatedAtAll.feature:line 19]]> - - - - - - - - - - - - - - - + - - + + + at Pickles.TestHarness.xunit2.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.xunit2.NotAutomatedAtAllFeature.NotAutomatedScenario1() in C:\src\pickles-testresults\TestHarness\xunit2\NotAutomatedAtAll.feature:line 9]]> - - - - - - - + + + - - + + - - + - - + + - - - d__5`2.MoveNext() - at System.Linq.Buffer`1..ctor(IEnumerable`1 source) - at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) - at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) + + + + at Pickles.TestHarness.xunit2.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\Minimal Features\Failing.feature.cs:line 0 + at Pickles.TestHarness.xunit2.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in C:\src\pickles-testresults\TestHarness\xunit2\Minimal Features\Failing.feature:line 10]]> - - - + - - + + + + + + - - + + - + @@ -217,43 +149,43 @@ + at Pickles.TestHarness.xunit2.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\Minimal Features\Inconclusive.feature.cs:line 0 + at Pickles.TestHarness.xunit2.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in C:\src\pickles-testresults\TestHarness\xunit2\Minimal Features\Inconclusive.feature:line 7]]> - - + + - + - + - + - + - + @@ -262,28 +194,28 @@ + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 34]]> - + - + - + @@ -291,23 +223,23 @@ + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 21]]> - + - + - + @@ -315,11 +247,11 @@ + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 45]]> - + @@ -327,11 +259,11 @@ + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 45]]> - + @@ -340,16 +272,16 @@ + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 45]]> - + @@ -358,21 +290,95 @@ + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 45]]> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + d__5`2.MoveNext() + at System.Linq.Buffer`1..ctor(IEnumerable`1 source) + at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) + at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) + at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) + at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() + at Pickles.TestHarness.xunit2.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\Addition.feature.cs:line 0 + at Pickles.TestHarness.xunit2.AdditionFeature.FailToAddTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit2\Addition.feature:line 34]]> + + + + + + + + + + + \ No newline at end of file diff --git a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitExampleSignatureBuilder.cs b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitExampleSignatureBuilder.cs index 12afa58e3..6c845c8b9 100644 --- a/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitExampleSignatureBuilder.cs +++ b/src/Pickles/Pickles.TestFrameworks/NUnit/NUnitExampleSignatureBuilder.cs @@ -35,8 +35,7 @@ public Regex Build(ScenarioOutline scenarioOutline, string[] row) foreach (string value in row) { stringBuilder.AppendFormat("\"{0}\",", value.ToLowerInvariant() - .Replace(@"\", string.Empty) - .Replace(@"$", @"\$") + .Replace(@"\", string.Empty).Replace(@"$", @"\$") .Replace(@"(", @"\(") .Replace(@")", @"\)")); } diff --git a/src/Pickles/Pickles.TestFrameworks/XUnit/xUnitExampleSignatureBuilder.cs b/src/Pickles/Pickles.TestFrameworks/XUnit/xUnitExampleSignatureBuilder.cs index 0b09475f4..3266681c5 100644 --- a/src/Pickles/Pickles.TestFrameworks/XUnit/xUnitExampleSignatureBuilder.cs +++ b/src/Pickles/Pickles.TestFrameworks/XUnit/xUnitExampleSignatureBuilder.cs @@ -35,7 +35,11 @@ public Regex Build(ScenarioOutline scenarioOutline, string[] row) foreach (string value in row) { - stringBuilder.AppendFormat("(.*): \"{0}\", ", value.ToLowerInvariant().Replace(@"\", string.Empty).Replace(@"$", @"\$")); + stringBuilder.AppendFormat("(.*): \"{0}\", ", value.ToLowerInvariant() + .Replace(@"\", string.Empty) + .Replace(@"$", @"\$") + .Replace(@"(", @"\(") + .Replace(@")", @"\)")); } stringBuilder.Remove(stringBuilder.Length - 2, 2); From 57887920ee5c4799a4baf2f8e40d54cdf53404da Mon Sep 17 00:00:00 2001 From: "William C. Smith" Date: Mon, 29 Feb 2016 13:59:33 -0500 Subject: [PATCH 3/3] Added Test / Implementation for VsTest - Scenario Outline Containing Parens Fix --- CHANGELOG.md | 1 + .../results-example-cucumberjs-json.json | 84 +-- .../CucumberJson/results-example-json.json | 12 +- .../MsTest/results-example-mstest.trx | 218 +++---- .../NUnit/NUnit2/results-example-nunit.xml | 66 +-- .../NUnit/NUnit3/results-example-nunit3.xml | 112 ++-- .../VsTest/WhenParsingVsTestResultsFile.cs | 6 + .../VsTest/results-example-vstest.trx | 539 +++++++++--------- .../XUnit/XUnit1/results-example-xunit.xml | 146 ++--- .../XUnit/XUnit2/results-example-xunit2.xml | 234 ++++---- .../VsTestScenarioOutlineExampleMatcher.cs | 12 +- 11 files changed, 729 insertions(+), 701 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 84ec431f1..2dbaa95a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ This document is formatted according to the principles of [Keep A CHANGELOG](htt - Word document is corrupt if a Feature has no description ([#261](https://github.com/picklesdoc/pickles/issues/261)) (by [@dirkrombauts](https://github.com/dirkrombauts)). - The Cucumber JSON test result provider should deal with background steps correctly ([#293](https://github.com/picklesdoc/pickles/issues/293)) (by [@dirkrombauts](https://github.com/dirkrombauts) based on [an idea by MikeThomas64](https://github.com/picklesdoc/pickles/pull/251)). +- Scenario Outline with parenthesis parses correctly and reports the correct result ([PR#299](https://github.com/picklesdoc/pickles/pull/299)) (by [@ocsurfnut](https://github.com/ocsurfnut)) ## [2.3.0] - 2016-01-27 diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json index 5a263bade..05833bf20 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-cucumberjs-json.json @@ -41,7 +41,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 608780 + "duration": 699285 }, "match": {} }, @@ -51,7 +51,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 328155 + "duration": 367430 }, "match": {} }, @@ -61,7 +61,7 @@ "keyword": "And ", "result": { "status": "passed", - "duration": 50375 + "duration": 48668 }, "match": {} }, @@ -71,7 +71,7 @@ "keyword": "And ", "result": { "status": "passed", - "duration": 43829 + "duration": 48952 }, "match": {} }, @@ -81,7 +81,7 @@ "keyword": "When ", "result": { "status": "passed", - "duration": 140882 + "duration": 151412 }, "match": {} }, @@ -91,7 +91,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 1425323 + "duration": 97906 }, "match": {} } @@ -117,7 +117,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 90221 + "duration": 75706 }, "match": {} }, @@ -127,7 +127,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 50376 + "duration": 40414 }, "match": {} }, @@ -137,7 +137,7 @@ "keyword": "And ", "result": { "status": "passed", - "duration": 43546 + "duration": 37284 }, "match": {} }, @@ -147,7 +147,7 @@ "keyword": "And ", "result": { "status": "passed", - "duration": 69729 + "duration": 58060 }, "match": {} }, @@ -157,7 +157,7 @@ "keyword": "When ", "result": { "status": "passed", - "duration": 56922 + "duration": 198942 }, "match": {} }, @@ -167,7 +167,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 41553 + "duration": 48099 }, "match": {} } @@ -193,7 +193,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 45538 + "duration": 53506 }, "match": {} }, @@ -203,7 +203,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 69160 + "duration": 40415 }, "match": {} }, @@ -213,7 +213,7 @@ "keyword": "And ", "result": { "status": "passed", - "duration": 130352 + "duration": 36999 }, "match": {} }, @@ -223,7 +223,7 @@ "keyword": "When ", "result": { "status": "passed", - "duration": 33015 + "duration": 39845 }, "match": {} }, @@ -233,7 +233,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 36715 + "duration": 37853 }, "match": {} } @@ -259,7 +259,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 56637 + "duration": 48668 }, "match": {} }, @@ -269,7 +269,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 41553 + "duration": 36430 }, "match": {} }, @@ -316,7 +316,7 @@ "keyword": "Given ", "result": { "status": "passed", - "duration": 99044 + "duration": 76845 }, "match": {} }, @@ -392,7 +392,7 @@ "keyword": "Given ", "result": { "status": "failed", - "duration": 1778808, + "duration": 1630811, "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\AdditionSteps.js:36:13)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} @@ -458,7 +458,7 @@ "keyword": "Given ", "result": { "status": "failed", - "duration": 341816, + "duration": 383654, "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\AdditionSteps.js:36:13)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} @@ -533,7 +533,7 @@ "keyword": "Given ", "result": { "status": "failed", - "duration": 330716, + "duration": 346939, "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\AdditionSteps.js:36:13)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} @@ -618,7 +618,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 82537 + "duration": 120390 }, "match": {} } @@ -657,7 +657,7 @@ "keyword": "Then ", "result": { "status": "failed", - "duration": 233664, + "duration": 223418, "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\MinimalSteps.js:18:12)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} @@ -688,7 +688,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 38707 + "duration": 44114 }, "match": {} } @@ -737,7 +737,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 36430 + "duration": 60622 }, "match": {} } @@ -929,7 +929,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 92498 + "duration": 96482 }, "match": {} } @@ -949,7 +949,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 35860 + "duration": 36145 }, "match": {} } @@ -969,7 +969,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 40984 + "duration": 33583 }, "match": {} } @@ -989,7 +989,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 34438 + "duration": 34437 }, "match": {} } @@ -1009,7 +1009,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 33869 + "duration": 45538 }, "match": {} } @@ -1048,7 +1048,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 34437 + "duration": 39845 }, "match": {} } @@ -1068,7 +1068,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 32161 + "duration": 36430 }, "match": {} } @@ -1088,7 +1088,7 @@ "keyword": "Then ", "result": { "status": "failed", - "duration": 220857, + "duration": 287740, "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:18:12)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} @@ -1109,7 +1109,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 33015 + "duration": 37853 }, "match": {} } @@ -1129,7 +1129,7 @@ "keyword": "Then ", "result": { "status": "passed", - "duration": 41268 + "duration": 36430 }, "match": {} } @@ -1187,7 +1187,7 @@ "keyword": "Then ", "result": { "status": "failed", - "duration": 565803, + "duration": 499489, "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:18:12)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} @@ -1208,7 +1208,7 @@ "keyword": "Then ", "result": { "status": "failed", - "duration": 299125, + "duration": 353200, "error_message": "AssertionError: 'true' == 'false'\n at World. (C:\\src\\pickles-testresults\\TestHarness\\CucumberJS\\features\\stepdefinitions\\ScenarioOutlineSteps.js:18:12)\n at process._tickCallback (node.js:355:11)\n at Function.Module.runMain (module.js:503:11)\n at startup (node.js:129:16)\n at node.js:814:3" }, "match": {} @@ -1229,7 +1229,7 @@ "keyword": "When ", "result": { "status": "passed", - "duration": 64891 + "duration": 142020 }, "match": {} } @@ -1244,12 +1244,12 @@ "type": "scenario", "steps": [ { - "name": "I have parenthesis in the value, for example a 'This is a description (and more)'", + "name": "I have parenthesis in the value, for example an 'This is a description (and more)'", "line": 74, "keyword": "When ", "result": { "status": "passed", - "duration": 59483 + "duration": 78837 }, "match": {} } diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json index c70ebc0bf..b0be9744d 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/CucumberJson/results-example-json.json @@ -343,7 +343,7 @@ "result": { "status": "failed", "error_message": "\nexpected: \"fail\"\n got: \"this is a hacky way of making the scenario with a non-integer number\"\n\n(compared using eql?)\n (RSpec::Expectations::ExpectationNotMetError)\n./features/step_definitions/AdditionSteps.rb:11:in `/^I have entered (\\d+)\\.(\\d+) into the calculator$/'\nfeatures/Addition.feature:32:in `And I have entered 2.2 into the calculator'", - "duration": 12991000 + "duration": 15003000 } }, { @@ -777,7 +777,7 @@ "result": { "status": "pending", "error_message": "TODO (Cucumber::Pending)\n./features/step_definitions/MinimalSteps.rb:6:in `/^inconclusive step$/'\nfeatures/Minimal Features/Failing.feature:7:in `Then inconclusive step'", - "duration": 999000 + "duration": 0 } } ] @@ -1162,7 +1162,7 @@ }, "result": { "status": "passed", - "duration": 0 + "duration": 1011000 } } ] @@ -1229,7 +1229,7 @@ "result": { "status": "pending", "error_message": "TODO (Cucumber::Pending)\n./features/step_definitions/ScenarioOutlineSteps.rb:6:in `/^the scenario will 'inconclusive_(\\d+)'$/'\nfeatures/ScenarioOutlines.feature:27:in `Then the scenario will 'inconclusive_1''\nfeatures/ScenarioOutlines.feature:21:in `Then the scenario will '''", - "duration": 0 + "duration": 994000 } } ] @@ -1340,7 +1340,7 @@ }, "result": { "status": "passed", - "duration": 0 + "duration": 1000000 } } ] @@ -1469,7 +1469,7 @@ "steps": [ { "keyword": "When ", - "name": "I have parenthesis in the value, for example a 'This is a description (and more)'", + "name": "I have parenthesis in the value, for example an 'This is a description (and more)'", "line": 78, "match": { "location": "features/step_definitions/ScenarioOutlineSteps.rb:17" diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx index 7be790f0b..b5ac96c23 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/MsTest/results-example-mstest.trx @@ -1,8 +1,8 @@  - + These are default test settings for a local test run. - + @@ -10,14 +10,14 @@ - + Not automated scenario 1 - + FeatureTitle @@ -31,7 +31,7 @@ - + Parameter:first number @@ -62,7 +62,7 @@ And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -81,7 +81,7 @@ Not automated scenario 3 - + FeatureTitle @@ -92,7 +92,7 @@ Add two numbers - + FeatureTitle @@ -103,7 +103,7 @@ Failing Feature Inconclusive Scenario - + FeatureTitle @@ -114,7 +114,7 @@ Inconclusive Feature Inconclusive Scenario - + FeatureTitle @@ -125,7 +125,7 @@ Failing Feature Passing Scenario - + FeatureTitle @@ -136,7 +136,7 @@ Deal correctly with backslashes in the examples - + FeatureTitle @@ -155,7 +155,7 @@ This is a scenario outline where one scenario fails - + FeatureTitle @@ -174,7 +174,7 @@ And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -196,7 +196,7 @@ - + Parameter:first number @@ -227,7 +227,7 @@ And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -246,7 +246,7 @@ Failing Feature Failing Scenario - + FeatureTitle @@ -257,7 +257,7 @@ Deal correctly with parenthesis in the examples - + FeatureTitle @@ -276,7 +276,7 @@ This is a scenario outline where one scenario is inconclusive - + FeatureTitle @@ -295,7 +295,7 @@ This is a scenario outline where all scenarios pass - + FeatureTitle @@ -314,7 +314,7 @@ Inconclusive Feature Passing Scenario - + FeatureTitle @@ -325,7 +325,7 @@ This is a scenario outline where one scenario is inconclusive - + FeatureTitle @@ -343,7 +343,7 @@ - + FeatureTitle @@ -357,7 +357,7 @@ - + FeatureTitle @@ -368,7 +368,7 @@ This is a scenario outline where one scenario is inconclusive - + FeatureTitle @@ -387,7 +387,7 @@ This is a scenario outline where one scenario fails - + FeatureTitle @@ -406,7 +406,7 @@ And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -425,7 +425,7 @@ Adding several numbers - + Parameter:first number @@ -456,7 +456,7 @@ Not automated scenario 2 - + FeatureTitle @@ -467,7 +467,7 @@ This is a scenario outline where all scenarios pass - + FeatureTitle @@ -486,7 +486,7 @@ And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -505,7 +505,7 @@ Passing Feature Passing Scenario - + FeatureTitle @@ -516,7 +516,7 @@ This is a scenario outline where all scenarios pass - + FeatureTitle @@ -535,7 +535,7 @@ This is a scenario outline where one scenario fails - + FeatureTitle @@ -554,7 +554,7 @@ Adding several numbers - + Parameter:first number @@ -588,7 +588,7 @@ - + FeatureTitle @@ -599,7 +599,7 @@ Not automated adding two numbers - + FeatureTitle @@ -610,7 +610,7 @@ And we can go totally bonkers with multiple example sections. - + FeatureTitle @@ -633,44 +633,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) @@ -686,7 +686,7 @@ Then the result should be 180 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0.0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) @@ -702,7 +702,7 @@ Then the result should be 260 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0.0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) @@ -716,7 +716,7 @@ Then the result should be 3 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0.0s) - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) @@ -753,7 +753,7 @@ System.FormatException: Input string was not in a correct format. - + Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) @@ -822,7 +822,7 @@ namespace MyNamespace - + Given the background step fails -> error: @@ -867,7 +867,7 @@ Shouldly.ChuckedAWobbly: - + Given the background step fails -> error: @@ -912,7 +912,7 @@ Shouldly.ChuckedAWobbly: - + Given the background step fails -> error: @@ -954,7 +954,7 @@ Shouldly.ChuckedAWobbly: - + Then failing step -> error: @@ -986,7 +986,7 @@ Shouldly.ChuckedAWobbly: - + Then inconclusive step -> pending: MinimalSteps.ThenInconclusiveStep() @@ -1005,13 +1005,13 @@ Shouldly.ChuckedAWobbly: - + Then passing step -> done: MinimalSteps.ThenPassingStep() (0.0s) - + Then inconclusive step -> pending: MinimalSteps.ThenInconclusiveStep() @@ -1030,19 +1030,19 @@ Shouldly.ChuckedAWobbly: - + Then passing step -> done: MinimalSteps.ThenPassingStep() (0.0s) - + Then passing step -> done: MinimalSteps.ThenPassingStep() (0.0s) - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -1117,7 +1117,7 @@ namespace MyNamespace - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -1192,7 +1192,7 @@ namespace MyNamespace - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -1267,21 +1267,21 @@ namespace MyNamespace - + - + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) - + Then the scenario will 'inconclusive_1' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") @@ -1301,7 +1301,7 @@ namespace MyNamespace - + Then the scenario will 'inconclusive_2' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") @@ -1321,7 +1321,7 @@ namespace MyNamespace - + Then the scenario will 'fail_1' -> error: @@ -1354,7 +1354,7 @@ Shouldly.ChuckedAWobbly: - + Then the scenario will 'fail_2' -> error: @@ -1387,37 +1387,37 @@ Shouldly.ChuckedAWobbly: - + When I have backslashes in the value, for example a 'c:\Temp\' -> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0.0s) - + - When I have parenthesis in the value, for example a 'This is a description (and more)' + When I have parenthesis in the value, for example an 'This is a description (and more)' -> done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0.0s) - + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) - + Then the scenario will 'pass_3' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0.0s) - + Then the scenario will 'fail_1' -> error: @@ -1450,19 +1450,19 @@ Shouldly.ChuckedAWobbly: - + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) - + Then the scenario will 'inconclusive_1' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") @@ -1482,13 +1482,13 @@ Shouldly.ChuckedAWobbly: - + Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml index 587f5fca3..798fe508f 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit2/results-example-nunit.xml @@ -1,24 +1,24 @@ - + - + - + - + - + - + - + - + @@ -27,7 +27,7 @@ - + @@ -53,7 +53,7 @@ at Pickles.TestHarness.nunit.AdditionFeature.FailToAddTwoNumbers() in C:\src\pic - + - + - + - + - + - + - + @@ -189,7 +189,7 @@ at Pickles.TestHarness.nunit.MinimalFeatures.FailingFeature.FailingFeatureFailin - + @@ -200,16 +200,16 @@ at Pickles.TestHarness.nunit.MinimalFeatures.FailingFeature.FailingFeatureFailin - + - + - + - + - + - + - + - + - + @@ -328,7 +328,7 @@ namespace MyNamespace ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2")]]> - + - + @@ -380,18 +380,18 @@ at Pickles.TestHarness.nunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWit - + - + - + - + - + diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml index 820b73870..822b6a8d7 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/NUnit/NUnit3/results-example-nunit3.xml @@ -1,44 +1,44 @@  - + - + - + - + - + - + - + - + - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 60 into the calculator @@ -53,7 +53,7 @@ Then the result should be 260 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0.0s) ]]> - + done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 40 into the calculator @@ -69,7 +69,7 @@ Then the result should be 180 on the screen ]]> - + @@ -86,7 +86,7 @@ Then the result should be 3 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0.0s) ]]> - + @@ -118,7 +118,7 @@ Then the result should be 3.2 on the screen -> error: Input string was not in a correct format. ]]> - + @@ -127,7 +127,7 @@ Then the result should be 3.2 on the screen - + @@ -191,21 +191,21 @@ Then unimplemented step ]]> - + - + - + skipped because of previous errors ]]> - + - + @@ -325,18 +325,18 @@ Then the result should be 120 on the screen ]]> - + - + - + @@ -366,7 +366,7 @@ Then the result should be 120 on the screen True ]]> - + @@ -378,7 +378,7 @@ Then the result should be 120 on the screen -> pending: MinimalSteps.ThenInconclusiveStep() ]]> - + @@ -387,11 +387,11 @@ Then the result should be 120 on the screen ]]> - + - + @@ -403,7 +403,7 @@ Then the result should be 120 on the screen -> pending: MinimalSteps.ThenInconclusiveStep() ]]> - + @@ -412,11 +412,11 @@ Then the result should be 120 on the screen ]]> - + - + @@ -426,14 +426,14 @@ Then the result should be 120 on the screen - + - + @@ -460,31 +460,31 @@ Then the result should be 120 on the screen ]]> - + - + - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) ]]> - + @@ -493,7 +493,7 @@ Then the result should be 120 on the screen -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") ]]> - + @@ -502,7 +502,7 @@ Then the result should be 120 on the screen -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") ]]> - + - + - + - + done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0.0s) ]]> - + - - + done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0.0s) ]]> - + - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0.0s) ]]> - + - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) ]]> - + - + - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) ]]> - + done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) ]]> - + diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/WhenParsingVsTestResultsFile.cs b/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/WhenParsingVsTestResultsFile.cs index 8bfd222c3..4dd093c68 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/WhenParsingVsTestResultsFile.cs +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/WhenParsingVsTestResultsFile.cs @@ -112,6 +112,12 @@ public WhenParsingVsTestResultsFile() base.ThenCanReadResultsWithBackslashes(); } + [Test] + public new void ThenCanReadResultsWithParenthesis() + { + base.ThenCanReadResultsWithParenthesis(); + } + [Test] public new void ThenCanReadResultOfScenarioWithFailingBackground() { diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/results-example-vstest.trx b/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/results-example-vstest.trx index 16b25a558..4b85934b4 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/results-example-vstest.trx +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/VsTest/results-example-vstest.trx @@ -1,70 +1,70 @@  - - - + + + - + - + Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 60 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0.0s) And I have entered 70 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0.0s) And I have entered 130 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 260 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0,0s) +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0.0s) - + Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 40 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0.0s) And I have entered 50 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0.0s) And I have entered 90 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 180 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0,0s) +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0.0s) - + Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 1 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0.0s) And I have entered 2 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 3 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0,0s) +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0.0s) - + Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 1 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0.0s) And I have entered 2.2 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2,2) (0,0s) +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(2.2) (0.0s) When I press add --> done: AdditionSteps.WhenIPressAdd() (0,0s) +-> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 3.2 on the screen -> error: Input string was not in a correct format. @@ -86,17 +86,17 @@ System.FormatException: Input string was not in a correct format. at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:line 0 - at Pickles.TestHarness.MsTest.AdditionFeature.FailToAddTwoNumbers() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Addition.feature:line 34 + at Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:line 0 + at Pickles.TestHarness.MsTest.AdditionFeature.FailToAddTwoNumbers() in C:\src\pickles-testresults\TestHarness\MsTest\Addition.feature:line 34 - - + + Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0,0s) +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] @@ -156,13 +156,13 @@ namespace MyNamespace at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:line 0 - at Pickles.TestHarness.MsTest.AdditionFeature.NotAutomatedAddingTwoNumbers() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Addition.feature:line 46 + at Pickles.TestHarness.MsTest.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\Addition.feature.cs:line 0 + at Pickles.TestHarness.MsTest.AdditionFeature.NotAutomatedAddingTwoNumbers() in C:\src\pickles-testresults\TestHarness\MsTest\Addition.feature:line 46 - + Given the background step fails -> error: @@ -191,20 +191,20 @@ Shouldly.ChuckedAWobbly: 1 at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 + at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\src\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 at lambda_method(Closure , IContextManager ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddTwoNumbers() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 12 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddTwoNumbers() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 12 - + Given the background step fails -> error: @@ -235,21 +235,21 @@ Shouldly.ChuckedAWobbly: 1 at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 + at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\src\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 at lambda_method(Closure , IContextManager ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 19 - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_60() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 19 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_60() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 - + Given the background step fails -> error: @@ -280,21 +280,21 @@ Shouldly.ChuckedAWobbly: 1 at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 + at AutomationLayer.AdditionSteps.GivenTheBackgroundStepFails() in C:\src\pickles-testresults\TestHarness\AutomationLayer\AdditionSteps.cs:line 25 at lambda_method(Closure , IContextManager ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 19 - at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_40() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature:line 19 + at Pickles.TestHarness.MsTest.FailingBackgroundFeature.AddingSeveralNumbers_40() in C:\src\pickles-testresults\TestHarness\MsTest\FailingBackground.feature.cs:line 0 - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -363,13 +363,13 @@ namespace MyNamespace at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario1() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 9 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario1() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 9 - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -438,13 +438,13 @@ namespace MyNamespace at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario2() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 14 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario2() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 14 - + Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -513,43 +513,43 @@ namespace MyNamespace at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario3() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 19 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature.cs:line 0 + at Pickles.TestHarness.MsTest.NotAutomatedAtAllFeature.NotAutomatedScenario3() in C:\src\pickles-testresults\TestHarness\MsTest\NotAutomatedAtAll.feature:line 19 - + Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) - + Then the scenario will 'pass_3' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0.0s) - + Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) - + Then the scenario will 'inconclusive_1' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") @@ -562,26 +562,26 @@ namespace MyNamespace at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 21 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 21 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) - + Then the scenario will 'fail_1' -> error: @@ -600,33 +600,33 @@ Shouldly.ChuckedAWobbly: True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 + at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\src\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 at lambda_method(Closure , IContextManager , String ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 34 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails_Fail_1() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 34 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails_Fail_1() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) - + Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0,0s) +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) - + Then the scenario will 'inconclusive_1' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") @@ -639,14 +639,14 @@ Shouldly.ChuckedAWobbly: at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + Then the scenario will 'inconclusive_2' -> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") @@ -659,14 +659,14 @@ Shouldly.ChuckedAWobbly: at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + Then the scenario will 'fail_1' -> error: @@ -685,21 +685,21 @@ Shouldly.ChuckedAWobbly: True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 + at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\src\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 at lambda_method(Closure , IContextManager , String ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_1() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_1() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + Then the scenario will 'fail_2' -> error: @@ -718,34 +718,40 @@ Shouldly.ChuckedAWobbly: True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 + at AutomationLayer.ScenarioOutlineSteps.ThenTheScenarioWill(String result) in C:\src\pickles-testresults\TestHarness\AutomationLayer\ScenarioOutlineSteps.cs:line 21 at lambda_method(Closure , IContextManager , String ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 - at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_2() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature:line 45 + at Pickles.TestHarness.MsTest.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet2_Fail_2() in C:\src\pickles-testresults\TestHarness\MsTest\ScenarioOutlines.feature.cs:line 0 - + When I have backslashes in the value, for example a 'c:\Temp\' --> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0,0s) +-> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0.0s) - - + + + When I have parenthesis in the value, for example an 'This is a description (and more)' +-> done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0.0s) + + + + Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) +-> done: MinimalSteps.ThenPassingStep() (0.0s) - + Then inconclusive step -> pending: MinimalSteps.ThenInconclusiveStep() @@ -758,13 +764,13 @@ Shouldly.ChuckedAWobbly: at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:line 0 - at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:line 7 + at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:line 0 + at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:line 7 - + Then failing step -> error: @@ -783,26 +789,26 @@ Shouldly.ChuckedAWobbly: True at Shouldly.ShouldlyCoreExtensions.AssertAwesomely[T](T actual, Func`2 specifiedConstraint, Object originalActual, Object originalExpected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldlyCoreExtensions.cs:line 18 at Shouldly.ShouldBeTestExtensions.ShouldBe[T](T actual, T expected) in c:\TeamCity\buildAgent\work\10efaabfa8adbd4e\src\Shouldly\ShouldBeTestExtensions.cs:line 17 - at AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:line 24 + at AutomationLayer.MinimalFeatures.MinimalSteps.ThenFailingStep() in C:\src\pickles-testresults\TestHarness\AutomationLayer\MinimalFeatures\MinimalSteps.cs:line 24 at lambda_method(Closure , IContextManager ) at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStepMatch(BindingMatch match, Object[] arguments) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:line 0 - at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:line 10 + at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature.cs:line 0 + at Pickles.TestHarness.MsTest.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Failing.feature:line 10 - + Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) +-> done: MinimalSteps.ThenPassingStep() (0.0s) - + Then inconclusive step -> pending: MinimalSteps.ThenInconclusiveStep() @@ -815,204 +821,209 @@ Shouldly.ChuckedAWobbly: at TechTalk.SpecFlow.ErrorHandling.ErrorProvider.ThrowPendingError(TestStatus testStatus, String message) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at TechTalk.SpecFlow.TestRunner.CollectScenarioErrors() - at Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature.cs:line 0 - at Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in C:\Dev\Code\GitHub\DirkRombauts\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature:line 7 + at Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature.cs:line 0 + at Pickles.TestHarness.MsTest.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in C:\src\pickles-testresults\TestHarness\MsTest\Minimal Features\Inconclusive.feature:line 7 - + Then passing step --> done: MinimalSteps.ThenPassingStep() (0,0s) +-> done: MinimalSteps.ThenPassingStep() (0.0s) - - - + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + Test 'IgnoredAddingTwoNumbers' was skipped in the test run.Test 'NotAutomatedAddingTwoNumbers' was skipped in the test run.Test 'NotAutomatedScenario1' was skipped in the test run.Test 'NotAutomatedScenario2' was skipped in the test run.Test 'NotAutomatedScenario3' was skipped in the test run.Test 'ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive_Inconclusive_1' was skipped in the test run.Test 'AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_1' was skipped in the test run.Test 'AndWeCanGoTotallyBonkersWithMultipleExampleSections__ExampleSet1_Inconclusive_2' was skipped in the test run.Test 'FailingFeatureInconclusiveScenario' was skipped in the test run.Test 'InconclusiveFeatureInconclusiveScenario' was skipped in the test run. diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml index 151eb27f6..704665b58 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit1/results-example-xunit.xml @@ -1,4 +1,4 @@ -IgnoredGiven the calculator has clean memory +Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 1 into the calculator -> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0.0s) @@ -19,31 +19,7 @@ Then the result should be 3.2 on the screen at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at Pickles.TestHarness.xunit.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\Addition.feature.cs:line 0 - at Pickles.TestHarness.xunit.AdditionFeature.FailToAddTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit\Addition.feature:line 34Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) -Given I have entered 60 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0.0s) -And I have entered 70 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0.0s) -And I have entered 130 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0.0s) -When I press add --> done: AdditionSteps.WhenIPressAdd() (0.0s) -Then the result should be 260 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0.0s) -Given the calculator has clean memory --> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) -Given I have entered 40 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0.0s) -And I have entered 50 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0.0s) -And I have entered 90 into the calculator --> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0.0s) -When I press add --> done: AdditionSteps.WhenIPressAdd() (0.0s) -Then the result should be 180 on the screen --> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0.0s) -Given the calculator has clean memory + at Pickles.TestHarness.xunit.AdditionFeature.FailToAddTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit\Addition.feature:line 34IgnoredGiven the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given I have entered 1 into the calculator -> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(1) (0.0s) @@ -53,7 +29,7 @@ When I press add -> done: AdditionSteps.WhenIPressAdd() (0.0s) Then the result should be 3 on the screen -> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(3) (0.0s) -Given the calculator has clean memory +Given the calculator has clean memory -> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: @@ -109,7 +85,31 @@ namespace MyNamespace } at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) at Pickles.TestHarness.xunit.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\Addition.feature.cs:line 0 - at Pickles.TestHarness.xunit.AdditionFeature.NotAutomatedAddingTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit\Addition.feature:line 46Given the background step fails + at Pickles.TestHarness.xunit.AdditionFeature.NotAutomatedAddingTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit\Addition.feature:line 46Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) +Given I have entered 60 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(60) (0.0s) +And I have entered 70 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(70) (0.0s) +And I have entered 130 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(130) (0.0s) +When I press add +-> done: AdditionSteps.WhenIPressAdd() (0.0s) +Then the result should be 260 on the screen +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(260) (0.0s) +Given the calculator has clean memory +-> done: AdditionSteps.GivenTheCalculatorHasCleanMemory() (0.0s) +Given I have entered 40 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(40) (0.0s) +And I have entered 50 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(50) (0.0s) +And I have entered 90 into the calculator +-> done: AdditionSteps.GivenIHaveEnteredIntoTheCalculator(90) (0.0s) +When I press add +-> done: AdditionSteps.WhenIPressAdd() (0.0s) +Then the result should be 180 on the screen +-> done: AdditionSteps.ThenTheResultShouldBeOnTheScreen(180) (0.0s) +Given the background step fails -> error: 1 should be @@ -203,7 +203,7 @@ Then the result should be 120 on the screen at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at Pickles.TestHarness.xunit.FailingBackgroundFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\FailingBackground.feature.cs:line 0 - at Pickles.TestHarness.xunit.FailingBackgroundFeature.AddTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit\FailingBackground.feature:line 12Given unimplemented step + at Pickles.TestHarness.xunit.FailingBackgroundFeature.AddTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit\FailingBackground.feature:line 12Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] public void GivenUnimplementedStep() @@ -265,7 +265,7 @@ namespace MyNamespace } at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario3() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 19Given unimplemented step + at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario1() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 9Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] public void GivenUnimplementedStep() @@ -327,7 +327,7 @@ namespace MyNamespace } at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario1() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 9Given unimplemented step + at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario2() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 14Given unimplemented step -> No matching step definition found for the step. Use the following code to create one: [Given(@"unimplemented step")] public void GivenUnimplementedStep() @@ -389,21 +389,11 @@ namespace MyNamespace } at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature.cs:line 0 - at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario2() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 14Then the scenario will 'pass_1' + at Pickles.TestHarness.xunit.NotAutomatedAtAllFeature.NotAutomatedScenario3() in C:\src\pickles-testresults\TestHarness\xunit\NotAutomatedAtAll.feature:line 19Then the scenario will 'pass_1' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) -Then the scenario will 'pass_2' +Then the scenario will 'pass_2' -> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) -Then the scenario will 'inconclusive_1' --> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") -TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. - ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'inconclusive_2' --> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") -TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. - ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'fail_1' +Then the scenario will 'fail_1' -> error: true should be @@ -423,7 +413,32 @@ namespace MyNamespace at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'fail_2' + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 34Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) +Then the scenario will 'pass_2' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) +Then the scenario will 'inconclusive_1' +-> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") +TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. + ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 21When I have backslashes in the value, for example a 'c:\Temp\' +-> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0.0s) +Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) +Then the scenario will 'pass_2' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) +Then the scenario will 'inconclusive_1' +-> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") +TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. + ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'inconclusive_2' +-> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") +TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. + ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_2") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'fail_1' -> error: true should be @@ -443,28 +458,7 @@ namespace MyNamespace at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45When I have backslashes in the value, for example a 'c:\Temp\' --> done: ScenarioOutlineSteps.WhenIHaveBackslashesInTheValueForExampleAFilePath("c:\Temp\") (0.0s) -Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) -Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) -Then the scenario will 'inconclusive_1' --> pending: ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") -TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. - ScenarioOutlineSteps.ThenTheScenarioWill("inconclusive_1") at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 21Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) -Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) -Then the scenario will 'pass_3' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0.0s) -Then the scenario will 'pass_1' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) -Then the scenario will 'pass_2' --> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) -Then the scenario will 'fail_1' + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45Then the scenario will 'fail_2' -> error: true should be @@ -484,11 +478,15 @@ namespace MyNamespace at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature.cs:line 0 - at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 34When I have parenthesis in the value, for example a 'This is a description (and more)' + at Pickles.TestHarness.xunit.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit\ScenarioOutlines.feature:line 45When I have parenthesis in the value, for example an 'This is a description (and more)' -> done: ScenarioOutlineSteps.WhenIHaveParenthesisInTheValueForExampleAnOverlyDescriptiveField("This is a descrip...") (0.0s) -Then passing step --> done: MinimalSteps.ThenPassingStep() (0.0s) -Then failing step +Then the scenario will 'pass_1' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_1") (0.0s) +Then the scenario will 'pass_2' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_2") (0.0s) +Then the scenario will 'pass_3' +-> done: ScenarioOutlineSteps.ThenTheScenarioWill("pass_3") (0.0s) +Then failing step -> error: true should be @@ -508,7 +506,9 @@ namespace MyNamespace at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() at Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature.cs:line 0 - at Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature:line 10Then inconclusive step + at Pickles.TestHarness.xunit.MinimalFeatures.FailingFeature.FailingFeatureFailingScenario() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Failing.feature:line 10Then passing step +-> done: MinimalSteps.ThenPassingStep() (0.0s) +Then inconclusive step -> pending: MinimalSteps.ThenInconclusiveStep() TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. MinimalSteps.ThenInconclusiveStep() at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) @@ -520,6 +520,6 @@ namespace MyNamespace TechTalk.SpecFlow.SpecFlowException : Test pending: One or more step definitions are not implemented yet. MinimalSteps.ThenInconclusiveStep() at TechTalk.SpecFlow.UnitTestProvider.XUnitRuntimeProvider.TestPending(String message) at Pickles.TestHarness.xunit.MinimalFeatures.InconclusiveFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Inconclusive.feature.cs:line 0 - at Pickles.TestHarness.xunit.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Inconclusive.feature:line 7Then passing step + at Pickles.TestHarness.xunit.MinimalFeatures.InconclusiveFeature.InconclusiveFeatureInconclusiveScenario() in C:\src\pickles-testresults\TestHarness\xunit\Minimal Features\Inconclusive.feature:line 7Then passing step -> done: MinimalSteps.ThenPassingStep() (0.0s) \ No newline at end of file diff --git a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml index 058d92985..96c83f971 100644 --- a/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml +++ b/src/Pickles/Pickles.TestFrameworks.UnitTests/XUnit/XUnit2/results-example-xunit2.xml @@ -1,9 +1,9 @@  - + - - + + @@ -21,7 +21,7 @@ at Pickles.TestHarness.xunit2.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\FailingBackground.feature:line 19]]> - + @@ -39,7 +39,7 @@ at Pickles.TestHarness.xunit2.FailingBackgroundFeature.AddingSeveralNumbers(String firstNumber, String secondNumber, String thirdNumber, String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\FailingBackground.feature:line 19]]> - + @@ -58,90 +58,74 @@ - - + + - - + + - - - - - + - - + + - - - - - + - - + + + at Pickles.TestHarness.xunit2.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\Addition.feature.cs:line 0 + at Pickles.TestHarness.xunit2.AdditionFeature.NotAutomatedAddingTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit2\Addition.feature:line 46]]> - - - + - - + + - + - - + + - - - - + - + - - + + - - - + + + d__5`2.MoveNext() + at System.Linq.Buffer`1..ctor(IEnumerable`1 source) + at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) + at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) + at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) + at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() + at Pickles.TestHarness.xunit2.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\Addition.feature.cs:line 0 + at Pickles.TestHarness.xunit2.AdditionFeature.FailToAddTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit2\Addition.feature:line 34]]> - - + + - + @@ -154,38 +138,38 @@ - - + + - + - + - + - + - + @@ -203,19 +187,19 @@ at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioFails(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 34]]> - + - + - + @@ -227,19 +211,19 @@ at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.ThisIsAScenarioOutlineWhereOneScenarioIsInconclusive(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 21]]> - + - + - + @@ -251,7 +235,7 @@ at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 45]]> - + @@ -263,7 +247,7 @@ at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 45]]> - + @@ -281,7 +265,7 @@ at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 45]]> - + @@ -299,81 +283,97 @@ at Pickles.TestHarness.xunit2.ScenarioOutlinesFeature.AndWeCanGoTotallyBonkersWithMultipleExampleSections_(String result, String[] exampleTags) in C:\src\pickles-testresults\TestHarness\xunit2\ScenarioOutlines.feature:line 45]]> - + - + - - + + - - + + - + - - + + + + + + - + - - + + - + + at Pickles.TestHarness.xunit2.MinimalFeatures.FailingFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\Minimal Features\Failing.feature.cs:line 0 + at Pickles.TestHarness.xunit2.MinimalFeatures.FailingFeature.FailingFeatureInconclusiveScenario() in C:\src\pickles-testresults\TestHarness\xunit2\Minimal Features\Failing.feature:line 7]]> - + + + - - + + + + + + - + - - + + - + + + + - + - - + + - - - d__5`2.MoveNext() - at System.Linq.Buffer`1..ctor(IEnumerable`1 source) - at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) - at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.GetExecuteArguments(BindingMatch match) - at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) - at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnAfterLastStep() - at Pickles.TestHarness.xunit2.AdditionFeature.ScenarioCleanup() in C:\src\pickles-testresults\TestHarness\xunit2\Addition.feature.cs:line 0 - at Pickles.TestHarness.xunit2.AdditionFeature.FailToAddTwoNumbers() in C:\src\pickles-testresults\TestHarness\xunit2\Addition.feature:line 34]]> + + + - - + + diff --git a/src/Pickles/Pickles.TestFrameworks/VsTest/VsTestScenarioOutlineExampleMatcher.cs b/src/Pickles/Pickles.TestFrameworks/VsTest/VsTestScenarioOutlineExampleMatcher.cs index edd3cbb1e..85597910c 100644 --- a/src/Pickles/Pickles.TestFrameworks/VsTest/VsTestScenarioOutlineExampleMatcher.cs +++ b/src/Pickles/Pickles.TestFrameworks/VsTest/VsTestScenarioOutlineExampleMatcher.cs @@ -31,7 +31,17 @@ public bool IsMatch(ScenarioOutline scenarioOutline, string[] exampleValues, obj { var element = (XElement)scenarioElement; - var isMatch = element.Name().ToUpperInvariant().EndsWith(exampleValues[0].Replace(":", "").Replace("\\", "").ToUpperInvariant()); + var isMatch = element.Name().ToUpperInvariant() + .EndsWith( + exampleValues[0] + .Replace(" ", string.Empty) + .Replace(":", string.Empty) + .Replace("\\", string.Empty) + .Replace("(", string.Empty) + .Replace(")", string.Empty) + .ToUpperInvariant() + ); + return isMatch; } }