Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
|
Capabilities | 3 | 0 | 1 | 0 | 0 | 0 | 2 | 0 |
Features | 4 | 0 | 1 | 0 | 0 | 0 | 3 | 0 |
Scenarios | 79 | 0 | 1 | 0 | 0 | 0 | 78 | 0 |
Capabilities |
|
||
Features |
|
||
Scenarios |
|
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
|
Features | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Scenarios | 4 | 0 | 0 | 0 | 0 | 0 | 4 | 0 |
Features |
|
|
Scenarios |
|
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
|
Scenarios | 4 | 0 | 0 | 0 | 0 | 0 | 4 | 0 |
Scenarios |
|
You can install a command line utility that will help you generate a dotnet core test project with a file structure that will help you follow best practices for building your tests. All you need is an empty directory that you want to create a new project within. The xBDD framework will create the following files in the directory:
[FolderName].csproj - If a project file does not already exist, xBDD will create a csproj
file with the same name as the folder you are initializing the project within. The project file
will contain all the necessary references to develop xBDD features.
This file will not be overwritten if it already exists.
[FolderName].csproj.xBDD - xBDD will also create an identical project file that ends in
.xbdd that it will continue to update each time you execute the dotnet xbdd project generate MSTest
xbddToolsCommandArgs. You can use this file to update your project file in the future if xBDD
makes any changes to the default project file.
TestInitializeAndComplete.xbdd.cs - This class handles the test initialize and cleanup
operations for xBDD. If you already implement these methods in your project, comment out the
[AssemblyInitialize]
and [AssemblyCleanup]
attributes and call the TestRunStart()
and TestRunComplete
methods from your code where you have implemented the respective
attributes. The TestRunStart
method initializes the web browser to either display or not
display. The TestRunComplete
method ensures that the webdriver is disposed and generates
standard reports for a test run.
xBDDConfig.json - Use this config file to override default values for xBDD settings.
xBDDFeatureBase.xbdd.cs - This is the base class you should use for creating features. It is not required but if you inherit from this class you will not need to implement the iFeature interface or manually inject an iOutputWriter into each scenario. The output writer is used by xBDD to write output to the testing framework during execution. This helps with printing out scenario and exception details when a step fails. When scenarios run in a test class that implements the iFeature interface, the output writer is automatically injected into the scenario when it is run. Without implementing the iFeature interface, you need to explicity set the output writer for each scenario. The xBDDFeatureBase class implements both the iFeature and iOutputWriter interface so that all you need to do is inherit from this class and all scenarios will automatically log details to the underlying testing framework (MSTest).
xBDDFeatureSort.cs - This class is used to create a sorted list of features names
that can be passed to a test run object to sort the scenarios prior to running a report.
This class is only written once by the framework. If it already exists it will not be overwritten.
xBDDFeatureSort.xbdd.cs - This class is a duplicate of the xBDDFeatureSort.cs
class and is recreated each time you generate code. It is created so that you can
copy missing features into the xBDDFeatureSort.cs
class.
xBDDReasonSort.cs - This class is used to cascade the reasons up from scenarios, to features, to capabilities, to the test run. The sort order controls the order of precedence from least to most. For example if two features have reasons A and B and the ReasonSort places A before B then the parent capability for both features will have a reason of B.
xBDDReasonSort.xbdd.cs - This class is a duplicate of the xBDDReasonSort.cs
class and is recreated each time you generate code. It is created so that you can
copy missing reasons into the xBDDFeatureSort.cs
class.
xBDDFeatureImport.txt - A text document that you can use to outline the capabilities, features, scenarios, and steps to import into the project. This document can use either tabs or spaces for indentation as long as it is consistent. You can also paste the text format for Workflowy outlines into this file and the dashes will be automatically removed.
Features/MySampleCapability/MySampleFeature.cs - A sample feature for the project to execute.
The standard xBDD project is setup to generate a standard set of reports when you run the tests in the test project. These include:
Html Test Run Report - Provides an outline view of the test results with outcome statics at each level.
JSON Test Run Report - A Json serialization of the Test Run object. The test run object is the foundation for all reports. The Json test run report can be used to hydrate a test run to build any other report.
Text Test Run Report - Provides a text indentation outline of the test run including step inputs, outputs and exceptions.
OPML Outline Report - An Outline Processor Markup Language representation of the test run results. This can be used to copy features back into Workflowy.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
This is the default scenario expected for generating MS Project files.
You can generate a fully functioning test project that produces reports when you run dotnet test
by executing the following command in an empty directory: dotnet xbdd project generate MSTest
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.1.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.1.1" /> <PackageReference Include="Microsoft.Net.Test.Sdk" Version="15.8.0" /> <PackageReference Include="MSTEst.TestAdapter" Version="1.3.2" /> <PackageReference Include="MSTEst.TestFramework" Version="1.3.2" /> <PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="2.41.0" /> <PackageReference Include="Selenium.WebDriver" Version="3.14.0" /> <PackageReference Include="xBDD" Version="0.0.8-alpha" /> </ItemGroup> <ItemGroup> <None Update="xBDDConfig.json" CopyToOutputDirectory="PreserveNewest" /> </ItemGroup> </Project>
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.1.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.1.1" /> <PackageReference Include="Microsoft.Net.Test.Sdk" Version="15.8.0" /> <PackageReference Include="MSTEst.TestAdapter" Version="1.3.2" /> <PackageReference Include="MSTEst.TestFramework" Version="1.3.2" /> <PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="2.41.0" /> <PackageReference Include="Selenium.WebDriver" Version="3.14.0" /> <PackageReference Include="xBDD" Version="0.0.8-alpha" /> </ItemGroup> <ItemGroup> <None Update="xBDDConfig.json" CopyToOutputDirectory="PreserveNewest" /> </ItemGroup> </Project>
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.1.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.1.1" /> <PackageReference Include="Microsoft.Net.Test.Sdk" Version="15.8.0" /> <PackageReference Include="MSTEst.TestAdapter" Version="1.3.2" /> <PackageReference Include="MSTEst.TestFramework" Version="1.3.2" /> <PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="2.41.0" /> <PackageReference Include="Selenium.WebDriver" Version="3.14.0" /> <PackageReference Include="xBDD" Version="0.0.8-alpha" /> </ItemGroup> <ItemGroup> <None Update="xBDDConfig.json" CopyToOutputDirectory="PreserveNewest" /> </ItemGroup> </Project>
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.1.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.1.1" /> <PackageReference Include="Microsoft.Net.Test.Sdk" Version="15.8.0" /> <PackageReference Include="MSTEst.TestAdapter" Version="1.3.2" /> <PackageReference Include="MSTEst.TestFramework" Version="1.3.2" /> <PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="2.41.0" /> <PackageReference Include="Selenium.WebDriver" Version="3.14.0" /> <PackageReference Include="xBDD" Version="0.0.8-alpha" /> </ItemGroup> <ItemGroup> <None Update="xBDDConfig.json" CopyToOutputDirectory="PreserveNewest" /> </ItemGroup> </Project>
{ "TestRunReport": { "ReportName": "My Generated Sample - Features", "ReportFolder": "/../../../test-results/", "FileName": "MyGeneratedSample.Features.Results", "FailuresOnly": "false", "RootNameSkip": "My Generated Sample - Features - " }, "SortedReasonConfigurations": [ {"Reason": "Removing","BackgroundColor": "rgb(124,124,124)","FontColor": "White"}, {"Reason": "Passed","BackgroundColor": "rgb(112,173,71)","FontColor": "White"}, {"Reason": "Untested","BackgroundColor": "rgb(195,155,225)","FontColor": "rgb(15, 1, 26)"}, {"Reason": "Committed","BackgroundColor": "rgb(46,117,182)","FontColor": "White"}, {"Reason": "Ready","BackgroundColor": "rgb(101, 167, 227)","FontColor": "rgb(2, 20, 36)"}, {"Reason": "Defining","BackgroundColor": "rgb(146, 194, 238)","FontColor": "rgb(7, 36, 63)"}, {"Reason": "Failed","BackgroundColor": "rgb(192,0,0)","FontColor": "White"} ], "Browser": { "Watch": "false" } }
{ "TestRunReport": { "ReportName": "My Generated Sample - Features", "ReportFolder": "/../../../test-results/", "FileName": "MyGeneratedSample.Features.Results", "FailuresOnly": "false", "RootNameSkip": "My Generated Sample - Features - " }, "SortedReasonConfigurations": [ {"Reason": "Removing","BackgroundColor": "rgb(124,124,124)","FontColor": "White"}, {"Reason": "Passed","BackgroundColor": "rgb(112,173,71)","FontColor": "White"}, {"Reason": "Untested","BackgroundColor": "rgb(195,155,225)","FontColor": "rgb(15, 1, 26)"}, {"Reason": "Committed","BackgroundColor": "rgb(46,117,182)","FontColor": "White"}, {"Reason": "Ready","BackgroundColor": "rgb(101, 167, 227)","FontColor": "rgb(2, 20, 36)"}, {"Reason": "Defining","BackgroundColor": "rgb(146, 194, 238)","FontColor": "rgb(7, 36, 63)"}, {"Reason": "Failed","BackgroundColor": "rgb(192,0,0)","FontColor": "White"} ], "Browser": { "Watch": "false" } }
namespace MyGeneratedSample.Features { using xBDD; using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting.Logging; public partial class xBDDFeatureBase: IFeature, IOutputWriter { public IOutputWriter OutputWriter { get { return this; } } public void WriteLine(string text) { text = text.Replace("{", "{{").Replace("}","}}"); Logger.LogMessage(text); } } }
namespace MyGeneratedSample.Features { using xBDD; using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting.Logging; public partial class xBDDFeatureBase: IFeature, IOutputWriter { public IOutputWriter OutputWriter { get { return this; } } public void WriteLine(string text) { text = text.Replace("{", "{{").Replace("}","}}"); Logger.LogMessage(text); } } }
MyImportedCapability1 MyImportedFeature MyImportedScenario #R-Ready Given you have the xbdd tools installed And you have an xBDDFeatureImport.txt file defined in the root of the project When you execute 'dotnet xbdd project generate MSTest' Then a new feature will be defined in the project with two partial class files And you can finish the import by moving the scenarios from the feature.xbdd.cs file to the feature.cs file And you can delete the .xbdd.cs file and clear out the xBDDFeatureImport.txt file of the feature
MyImportedCapability1 MyImportedFeature MyImportedScenario #R-Ready Given you have the xbdd tools installed And you have an xBDDFeatureImport.txt file defined in the root of the project When you execute 'dotnet xbdd project generate MSTest' Then a new feature will be defined in the project with two partial class files And you can finish the import by moving the scenarios from the feature.xbdd.cs file to the feature.cs file And you can delete the .xbdd.cs file and clear out the xBDDFeatureImport.txt file of the feature
namespace MyGeneratedSample.Features { using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting.Logging; using xBDD; [TestClass] public class TestSetupAndBreakdown { [AssemblyInitialize] public static void TestRunStart(TestContext context) { xB.Initialize(); } [AssemblyCleanup()] public static void TestRunComplete() { xB.Complete("xBDDConfig.json", new xBDDSorting().GetSortedFeatureNames(), (message) => { Logger.LogMessage(message); }); } } }
namespace MyGeneratedSample.Features { using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting.Logging; using xBDD; [TestClass] public class TestSetupAndBreakdown { [AssemblyInitialize] public static void TestRunStart(TestContext context) { xB.Initialize(); } [AssemblyCleanup()] public static void TestRunComplete() { xB.Complete("xBDDConfig.json", new xBDDSorting().GetSortedFeatureNames(), (message) => { Logger.LogMessage(message); }); } } }
namespace MyGeneratedSample.Features { using System; using System.Collections.Generic; using xBDD; public partial class xBDDSorting: ISorting { public List<string> GetSortedFeatureNames() { return new List<string>() { typeof(MyGeneratedSample.Features.MyCapability.MyFeature).FullName, }; } public List<string> GetSortedReasons() { return new List<string>() { "Removing", "Untested", "Committed", "Ready", "Defining", }; } } }
namespace MyGeneratedSample.Features { using System; using System.Collections.Generic; using xBDD; public partial class xBDDSorting: ISorting { public List<string> GetSortedFeatureNames() { return new List<string>() { typeof(MyGeneratedSample.Features.MyCapability.MyFeature).FullName, }; } public List<string> GetSortedReasons() { return new List<string>() { "Removing", "Untested", "Committed", "Ready", "Defining", }; } } }
namespace MyGeneratedSample.Features { using System; using System.Collections.Generic; using xBDD; public partial class xBDDSorting: ISorting { public List<string> GetGeneratedSortedFeatureNames() { return new List<string>() { typeof(MyGeneratedSample.Features.MyCapability.MyFeature).FullName, }; } public List<string> GetGeneratedReasons() { return new List<string>() { "Removing", "Untested", "Committed", "Ready", "Defining", }; } } }
namespace MyGeneratedSample.Features { using System; using System.Collections.Generic; using xBDD; public partial class xBDDSorting: ISorting { public List<string> GetGeneratedSortedFeatureNames() { return new List<string>() { typeof(MyGeneratedSample.Features.MyCapability.MyFeature).FullName, }; } public List<string> GetGeneratedReasons() { return new List<string>() { "Removing", "Untested", "Committed", "Ready", "Defining", }; } } }
namespace MyGeneratedSample.Features.MyCapability { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [AsA("sample user")] [YouCan("execute my feature")] [SoThat("you have my feature value")] [Explanation(@" # My Explanation This is a multiline explanation of the feature. **And it uses markdown!**")] public partial class MyFeature: xBDDFeatureBase { [TestMethod] [Explanation("This is an explanation of the scenario.")] public async Task MyScenario() { await xB.CurrentRun.AddScenario(this, 1) .Given("my step 1", (s) => { //Add code to perform action. }) .When("my step 2 with multiline input", (s) => { //Add code to perform action. }, @" Here is my Input!".RemoveIndentation(6, true), TextFormat.text ) .And("my step 3 with an explanation", (s) => { //Add code to perform action. }, null, TextFormat.text, @" # Step 3 Explanation This is a multiline explanation of Step 3. It uses markdown. It will be printed out along with the step name in the html report." ) .Then("my step 3 with output", (s) => { //Add code to perform action. s.Output = "Here is my output."; s.OutputFormat = TextFormat.text; }) .Run(); } } }
namespace MyGeneratedSample.Features.MyCapability { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [AsA("sample user")] [YouCan("execute my feature")] [SoThat("you have my feature value")] [Explanation(@" # My Explanation This is a multiline explanation of the feature. **And it uses markdown!**")] public partial class MyFeature: xBDDFeatureBase { [TestMethod] [Explanation("This is an explanation of the scenario.")] public async Task MyScenario() { await xB.CurrentRun.AddScenario(this, 1) .Given("my step 1", (s) => { //Add code to perform action. }) .When("my step 2 with multiline input", (s) => { //Add code to perform action. }, @" Here is my Input!".RemoveIndentation(6, true), TextFormat.text ) .And("my step 3 with an explanation", (s) => { //Add code to perform action. }, null, TextFormat.text, @" # Step 3 Explanation This is a multiline explanation of Step 3. It uses markdown. It will be printed out along with the step name in the html report." ) .Then("my step 3 with output", (s) => { //Add code to perform action. s.Output = "Here is my output."; s.OutputFormat = TextFormat.text; }) .Run(); } } }
Executes the command in powershell.
dotnet test
Test run for /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features.dll(.NETCoreApp,Version=v2.1) Microsoft (R) Test Execution Command Line Tool Version 16.3.0 Copyright (c) Microsoft Corporation. All rights reserved. Starting test execution, please wait... A total of 1 test files matched the specified pattern. Test Run Successful. Total tests: 1 Passed: 1 Total time: 1.3185 Seconds
./MyGeneratedSample.Features/test-results/MyGeneratedSample.Features.Results.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>My Generated Sample - Features</title> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> <!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/open-iconic/1.1.1/font/css/open-iconic-bootstrap.min.css" integrity="sha256-BJ/G+e+y7bQdrYkS2RBTyNfBHpA9IuGaPmf9htub5MQ=\" crossorigin="anonymous" /> --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"> <style> /* General */ .container-fluid { padding: 0rem; margin: 0rem; } .flip {-moz-transform: scaleX(-1); -o-transform: scaleX(-1); -webkit-transform: scaleX(-1); transform: scaleX(-1); filter: FlipH; -ms-filter: "FlipH";} .pointer { cursor: pointer } /* Child Lists */ ol.testruns { margin: 1rem 0rem 1rem 0rem; } ol.capabilities { margin: 1rem 0rem 1rem 0rem; } ol.features { margin: 0rem 0rem 1rem 0rem; } ol.scenarios { margin: 0rem 0rem 1rem 0rem; } ol.steps { margin: 0rem 0rem 1rem 0rem;} /* Line Item Rows */ li.header { margin: 1rem 0rem 0rem 0rem; padding: 1rem 0rem 0rem 0rem; } li.testrun { margin: .75rem 0rem 0rem 0rem; border-top: rgb(183, 207, 248) solid 1px; padding: .75rem 0rem 0rem 0rem; } li.capability { margin: .75rem 0rem 0rem 0rem; border-top: rgb(183, 207, 248) solid 1px; padding: .75rem 0rem 0rem 0rem; } li.feature { margin: 0rem 0rem 0rem 0rem; } li.scenario { margin: 0rem 0rem 0rem 0rem; } li.step { margin: 0rem 0rem 0rem 0rem; } /* Badge Distros */ div.badge-distro { display: inline-block; vertical-align: middle; } div.badge-distro.header { width: 6rem; height: 2rem; } div.badge-distro.testrun { width: 6rem; height: 2rem; } div.badge-distro.capability { width: 6rem; height: 2rem; } div.badge-distro.feature { width: 6rem; height: 2rem; } div.badge-distro.scenario { width: 6rem; height: 1.5rem; } div.badge-distro.step { width: 6rem; height: 1rem; } /* Badges */ div.badges { flex: 0 0 3rem; } div.badge { background-color: #80808029; border: 1px white solid; width: 1.5rem; height: 1.5rem; vertical-align: middle; } div.badge:hover { background-color: #4343af } div.badge.label { width: 100%; height: 100%; vertical-align: middle; } div.header.badge { width: 4.5rem; height: 2rem; position: absolute; font-size: 1.25rem; } div.badge.testrun { width: 4.5rem; height: 2rem; position: absolute; font-size: 1.25rem; } div.badge.capability { width: 4.5rem; height: 2rem; position: absolute; font-size: 1.25rem; } div.badge.feature { width: 3rem; margin-left: 1.5rem; height: 1.75rem; position: absolute; font-size: 1rem; } div.badge.scenario { width: 2rem; margin-left: 4rem; position: inherit; } div.badge.step { width: 1rem; margin-left: 5rem; position: inherit; height: 1rem; } div.badge.step.label { width: 6rem; display: inline-block } div.badge.step.reason-PreviousError { background-color: gray; } div.badge.step.reason-ScenarioSkipped { background-color: gray; } span.step.reason { font-size: 1rem; color: gray; font-weight: 100; } div.distro { display: inline-block; border: 1px solid white; } div.distro.header { width: 3rem; height: 2rem; margin-left: 3rem; } div.distro.testrun { width: 3rem; height: 2rem; margin-left: 3rem; } div.distro.capability { width: 3rem; height: 2rem; margin-left: 3rem; } div.distro.feature { width: 3rem; height: 1.75rem; margin-left: 3rem; } div.badge.feature-statement-link { position: inherit; width: 1.5rem; height: 1.5rem; vertical-align: top; } div.name.feature { margin-left: 0rem; } div.name.scenario { margin-left: 0rem; } div.name.step { margin-left: 0rem; } span.name { vertical-align: top; } span.name.header { font-size: 2rem; font-weight: 400; margin-left: .75rem; } span.name.testrun { font-size: 2rem; font-weight: 400; margin-left: .75rem; } a.name.testrun { font-size: 1.5rem; font-weight: 400; color: rgb(68,114,198); } span.name.capability { font-size: 1.5rem; font-weight: 400; color: rgb(68,114,198); } span.name.feature { font-size: 1.25rem; font-weight: 400; color: rgb(68,114,198); } span.name.scenario { font-size: 1.125rem; font-weight: 400; vertical-align: middle; font-style: italic; color: rgb(68,114,198); } span.name.step { font-size: 1rem; font-weight: 400; } span.assignments { float: right; color: Gray; font-size: 1rem; } span.tags { float: right; margin-right: .5rem; color: Gray; font-size: 1rem; } div.reason-duration { flex: 0 0 6rem; font-size: 1rem; color: gray; vertical-align: text-top; white-space: nowrap; } span.reason-duration.step { font-size: 1rem; color: gray; font-weight: 100; } span.duration.step { font-size: 1rem; color: gray; font-weight: 100; } /* Stats */ .stats-graph-tables { border-top: 0.5rem; } .table { margin: 2px !important; } .table th, .table td { border-top: none !important; line-height: 1 !important; padding: 0px 10px !important; } td.graph td { padding: 0px !important; } .table td.bar { padding: 0px !important; } div.distro-corner-tr { position: absolute; margin-left: 5.35rem; width: 10px; height: 10px; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAMAAAHQVe0RAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAVUExURQAAAP///////////////////////0jPbQQAAAAGdFJOUwC81uLs9S3UunwAAAAJcEhZcwAAEk0AABJNAfOXxKcAAABZSURBVBhXlY7bDsAgCEOdSv//k22RLZjx4jFKabjYwCP0miuyrQ215fxl8LJZQVQlIvmALzCwLUkJMnJlxEuOYcc2TLeDSaOhR/bR0Z6QicK6o5xZbv//E1gwYwFZkRA8AQAAAABJRU5ErkJggg==") no-repeat top right; } div.distro-corner-br { position: absolute; margin-left: 5.35rem; width: 10px; height: 10px; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAMAAAHQVe0RAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAVUExURQAAAP///////////////////////0jPbQQAAAAGdFJOUwC81uLs9S3UunwAAAAJcEhZcwAAEk0AABJNAfOXxKcAAABZSURBVBhXlY7bDsAgCEOdSv//k22RLZjx4jFKabjYwCP0miuyrQ215fxl8LJZQVQlIvmALzCwLUkJMnJlxEuOYcc2TLeDSaOhR/bR0Z6QicK6o5xZbv//E1gwYwFZkRA8AQAAAABJRU5ErkJggg==") no-repeat bottom right; } div.distro-corner-tr.header { margin-top: .05rem; } div.distro-corner-br.header { margin-top: 1.32rem; } div.distro-corner-tr.testrun { margin-top: .05rem; } div.distro-corner-br.testrun { margin-top: 1.32rem; } div.distro-corner-tr.capability { margin-top: .05rem; } div.distro-corner-br.capability { margin-top: 1.32rem; } div.distro-corner-tr.feature { margin-top: .06rem; } div.distro-corner-br.feature { margin-top: 1.1rem; } div#report-dates { margin: 0rem 0rem .5rem 5rem; } /* Statement */ div.statement-title { margin-bottom: 1rem; } div.statement-content { margin: 1rem 0rem; border: lightgray solid 1px; padding: 1rem; } /* Step Details */ div.step-details { margin: .5rem 0rem; } div.step-exception-link.button { width: 6rem !important; } div.step-output-link.button { width: 6rem; background-color: gray; color: white; } div.step-input-link.button { width: 6rem; background-color: gray; color: white; } div.step-statement-link { width: 6rem; background-color: gray; color: white; } /* Exceptions */ div.exception { margin-bottom: 1rem; } div.exception-details { margin: 1rem 0rem; border: #dc3545 solid 1px; padding: 1rem; } dl.exception dt { margin-bottom: .25rem; } dl.exception-type, dl.exception-message, dl.exception-stack { padding: .5rem; } dl.exception-type pre, dl.exception-message pre, dl.exception-stack pre { padding: .5rem; } /* Input, Output, Explanation */ div.input { margin-bottom: 1rem; } div.output { margin-bottom: 1rem; } div.explanation { margin-bottom: 1rem; } div.input-title { margin-bottom: 1rem; } div.output-title { margin-bottom: 1rem; } div.explanation-title { margin-bottom: 1rem; } div.input.markdown { border: 1px solid gray; padding: 1rem; } div.output.markdown { border: 1px solid gray; padding: 1rem; } div.explanation.markdown { border: 1px solid gray; padding: 1rem; } pre { white-space: pre !important; } pre.input { margin-bottom: 1rem; } pre.output { margin-bottom: 1rem; } pre.explanation { margin-bottom: 1rem; } iframe { border: 1px solid gray; resize: both; overflow: auto; } pre.prettyprint { background-color: #eee; } .linenums li { list-style-type: decimal !important; } .reason-Removing { background-color: rgb(124,124,124) !important; color: White !important;} .reason-Passed { background-color: rgb(112,173,71) !important; color: White !important;} .reason-Untested { background-color: rgb(195,155,225) !important; color: rgb(15, 1, 26) !important;} .reason-Committed { background-color: rgb(46,117,182) !important; color: White !important;} .reason-Ready { background-color: rgb(101, 167, 227) !important; color: rgb(2, 20, 36) !important;} .reason-Defining { background-color: rgb(146, 194, 238) !important; color: rgb(7, 36, 63) !important;} .reason-Failed { background-color: rgb(192,0,0) !important; color: White !important;} </style> </header> <body> <script language="javascript" type="text/javascript"> function resizeIframe(obj) { obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px'; } </script> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">xBDD Test Results</a> <button id="menu-button" class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavAltMarkup"> <div class="navbar-nav"> <a class="nav-item nav-link active" href="javascript: $('ol.features').collapse('show');" id="expand-all-capabilities-button">Expand All Capabilities <span class="sr-only">(current)</span></a> </div> </div> </nav><li class="lineitem header row align-items-center" id="header-1"> <div class="col-2 badges"> <div class="header badge-distro" id="header-1-badge-distro" title="Passed Count: Scenarios" onclick="toggleVisibility('header-1-stats')"> <div class="header badge badge-pill pointer total reason-Passed" id="header-1-badge">1</div> <div class="header distro-corner-tr"> </div> <div class="header distro-corner-br"> </div> <div class="header distro pointer" id="header-1-distro"> <div class="reason-Passed" style="height: 100%; width: 100%;"></div> </div> </div> </div> <div class="col"> <div class="header name"> <span class="header name pointer" id="header-1-name" onclick="toggleVisibility('header-1-capabilities', null, null)" href="header-1-capabilities">My Generated Sample - Features</span> </div> </div> <div class="col-2 header reason-duration text-right"> <span class="header duration">[0 ms]</span> </div> </li> <li class="row stats"> <div class="col-2 badges"></div> <div class="col-11"> <div class="stats-graph-tables" id="header-1-stats" style="width: 100%; empty-cells: show; display: block;"> <table class="table table-condensed stats-table"> <tr id="header-header-reason-stats"> <td class="stats-label text-muted text-right"> </td> <td class="text-center" >Total</td> <td class="text-center"><div class="badge label reason-Failed">Failed</div></td> <td class="text-center"><div class="badge label reason-Defining">Defining</div></td> <td class="text-center"><div class="badge label reason-Ready">Ready</div></td> <td class="text-center"><div class="badge label reason-Committed">Committed</div></td> <td class="text-center"><div class="badge label reason-Untested">Untested</div></td> <td class="text-center"><div class="badge label reason-Passed">Passed</div></td> <td class="text-center"><div class="badge label reason-Removing">Removing</div></td> <tr id="report-capabilities-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Capabilities</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> <tr id="report-features-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Features</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> </table> <table class="table table-condensed bargraph-table"> <tr id="header-header-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;"> </td> <td class="outcome-bar-chart" style="width: 90%;"> </td> </tr> <tr id="report-capabilities-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Capabilities</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Passed" style="width: 100%;"></td> </tr> </table> </td> </tr> <tr id="report-features-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Features</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Passed" style="width: 100%;"></td> </tr> </table> </td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Passed" style="width: 100%;"></td> </tr> </table> </td> </tr> </table> </div> </div> </li> <li class="row children"> <div class="col-12"> <ol class="capabilities list-unstyled container-fluid" id="header-1-capabilities" style="display: block"> <li class="lineitem capability row align-items-center" id="capability-2"> <div class="col-2 badges"> <div class="capability badge-distro" id="capability-2-badge-distro" title="Passed Count: Scenarios" onclick="toggleVisibility('capability-2-stats')"> <div class="capability badge badge-pill pointer total reason-Passed" id="capability-2-badge">1</div> <div class="capability distro-corner-tr"> </div> <div class="capability distro-corner-br"> </div> <div class="capability distro pointer" id="capability-2-distro"> <div class="reason-Passed" style="height: 100%; width: 100%;"></div> </div> </div> </div> <div class="col"> <div class="capability name"> <span class="capability name pointer" id="capability-2-name" onclick="toggleVisibility('capability-2-features', null, null)" href="capability-2-features">My Capability</span> </div> </div> <div class="col-2 capability reason-duration text-right"> <span class="capability duration">[0 ms]</span> </div> </li> <li class="row stats"> <div class="col-2 badges"></div> <div class="col-11"> <div class="stats-graph-tables" id="capability-2-stats" style="width: 100%; empty-cells: show; display: none;"> <table class="table table-condensed stats-table"> <tr id="capability-header-reason-stats"> <td class="stats-label text-muted text-right"> </td> <td class="text-center" >Total</td> <td class="text-center"><div class="badge label reason-Failed">Failed</div></td> <td class="text-center"><div class="badge label reason-Defining">Defining</div></td> <td class="text-center"><div class="badge label reason-Ready">Ready</div></td> <td class="text-center"><div class="badge label reason-Committed">Committed</div></td> <td class="text-center"><div class="badge label reason-Untested">Untested</div></td> <td class="text-center"><div class="badge label reason-Passed">Passed</div></td> <td class="text-center"><div class="badge label reason-Removing">Removing</div></td> <tr id="report-features-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Features</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> </table> <table class="table table-condensed bargraph-table"> <tr id="capability-header-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;"> </td> <td class="outcome-bar-chart" style="width: 90%;"> </td> </tr> <tr id="report-features-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Features</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Passed" style="width: 100%;"></td> </tr> </table> </td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Passed" style="width: 100%;"></td> </tr> </table> </td> </tr> </table> </div> </div> </li> <li class="row children"> <div class="col-12"> <ol class="features list-unstyled container-fluid" id="capability-2-features" style="display: none"> <li class="lineitem feature row align-items-center" id="feature-3"> <div class="col-2 badges"> <div class="feature badge-distro" id="feature-3-badge-distro" title="Passed Count: Scenarios" onclick="toggleVisibility('feature-3-stats')"> <div class="feature badge badge-pill pointer total reason-Passed" id="feature-3-badge">1</div> <div class="feature distro-corner-tr"> </div> <div class="feature distro-corner-br"> </div> <div class="feature distro pointer" id="feature-3-distro"> <div class="reason-Passed" style="height: 100%; width: 100%;"></div> </div> </div> </div> <div class="col"> <div class="feature name"> <span class="feature name pointer" id="feature-3-name" onclick="toggleVisibility('feature-3-scenarios', null, null)" href="feature-3-scenarios">My Feature</span> <div class="feature-statement-link badge pointer badge-secondary" id="feature-3-statement-link" onclick="toggleVisibility('feature-3-statement'); toggleVisibility('feature-3-explanation', null)"> <i class="fas fa-info"></i> </div> </div> </div> <div class="col-2 feature reason-duration text-right"> <span class="feature duration">[0 ms]</span> </div> </li> <li class="row stats"> <div class="col-2 badges"></div> <div class="col-11"> <div class="stats-graph-tables" id="feature-3-stats" style="width: 100%; empty-cells: show; display: none;"> <table class="table table-condensed stats-table"> <tr id="feature-header-reason-stats"> <td class="stats-label text-muted text-right"> </td> <td class="text-center" >Total</td> <td class="text-center"><div class="badge label reason-Failed">Failed</div></td> <td class="text-center"><div class="badge label reason-Defining">Defining</div></td> <td class="text-center"><div class="badge label reason-Ready">Ready</div></td> <td class="text-center"><div class="badge label reason-Committed">Committed</div></td> <td class="text-center"><div class="badge label reason-Untested">Untested</div></td> <td class="text-center"><div class="badge label reason-Passed">Passed</div></td> <td class="text-center"><div class="badge label reason-Removing">Removing</div></td> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> </table> <table class="table table-condensed bargraph-table"> <tr id="feature-header-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;"> </td> <td class="outcome-bar-chart" style="width: 90%;"> </td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Passed" style="width: 100%;"></td> </tr> </table> </td> </tr> </table> </div> </div> </li> <li class="row statement"> <div class="col-2 badges"></div> <div class="col-11"> <div class="feature statement" id="feature-3-statement" style="display: none;"> <div class="statement-title">Statement</div> <div class="feature statement-content rounded" id="feature-3-statement"><strong>As a</strong> sample user<br/> <strong>You can </strong> execute my feature<br/> <strong>So that </strong> you have my feature value<br/></div> </div> </div> </li> <li class="row explanation"> <div class="col-2 badges"></div> <div class="col-11"> <div class="explanation" id="feature-3-explanation" style="display: none;"> <div class="explanation-title" id="step-3-explanation-title">Explanation</div> <div class="explanation markdown" id="explanation-3"><pre><code> # My Explanation This is a multiline explanation of the feature. **And it uses markdown!** </code></pre></div> </div> </div> </li> <li class="row children"> <div class="col-12"> <ol class="scenarios list-unstyled container-fluid" id="feature-3-scenarios" style="display: none"> <li class="lineitem scenario row align-items-center" id="scenario-4"> <div class="col-2 badges"> <div class="scenario badge badge-pill pointer total reason-Passed" id="scenario-4-badge">4</div> </div> <div class="col"> <div class="scenario name"> <span class="scenario name pointer" id="scenario-4-name" onclick="toggleVisibility('scenario-4-scenarios', null, null)" href="scenario-4-scenarios">My Scenario</span> <div class="scenario-statement-link badge pointer badge-secondary" id="scenario-4-statement-link" onclick="toggleVisibility('scenario-4-statement'); toggleVisibility('scenario-4-explanation', null)"> <i class="fas fa-info"></i> </div> </div> </div> <div class="col-2 scenario reason-duration text-right"> <span class="scenario duration">[5 ms]</span> </div> </li> <li class="row stats"> <div class="col-2 badges"></div> <div class="col-11"> <div class="stats-graph-tables" id="scenario-4-stats" style="width: 100%; empty-cells: show; display: none;"> <table class="table table-condensed stats-table"> <tr id="scenario-header-reason-stats"> <td class="stats-label text-muted text-right"> </td> <td class="text-center" >Total</td> <td class="text-center"><div class="badge label reason-Failed">Failed</div></td> <td class="text-center"><div class="badge label reason-Defining">Defining</div></td> <td class="text-center"><div class="badge label reason-Ready">Ready</div></td> <td class="text-center"><div class="badge label reason-Committed">Committed</div></td> <td class="text-center"><div class="badge label reason-Untested">Untested</div></td> <td class="text-center"><div class="badge label reason-Passed">Passed</div></td> <td class="text-center"><div class="badge label reason-Removing">Removing</div></td> </table> <table class="table table-condensed bargraph-table"> <tr id="scenario-header-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;"> </td> <td class="outcome-bar-chart" style="width: 90%;"> </td> </tr> </table> </div> </div> </li> <li class="row statement"> <div class="col-2 badges"></div> <div class="col-11"> <div class="scenario statement" id="scenario-4-statement" style="display: none;"> </div> </div> </li> <li class="row explanation"> <div class="col-2 badges"></div> <div class="col-11"> <div class="explanation" id="scenario-4-explanation" style="display: none;"> <div class="explanation-title" id="step-4-explanation-title">Explanation</div> <div class="explanation markdown" id="explanation-4"><p>This is an explanation of the scenario.</p></div> </div> </div> </li> <li class="row children"> <div class="col-12"> <ol class="scenarios list-unstyled container-fluid" id="scenario-4-scenarios" style="display: none"> <li class="lineitem step row align-items-center" id="step-5"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-Passed" id="step-5-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-5-name" onclick="toggleVisibility('step-5-details', null, null)" href="step-5-details"><strong>Given</strong> my step 1</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-5-details" style="display: none"> </ol> </div> </li> <li class="lineitem step row align-items-center" id="step-6"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-Passed" id="step-6-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-6-name" onclick="toggleVisibility('step-6-details', null, null)" href="step-6-details"><strong>When</strong> my step 2 with multiline input</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-6-details" style="display: none"> <li class="row"> <div class="col-2 badges"></div> <div class="col-11"> <div class="step-details"> <div class="step-input-link badge pointer button" id="step-6-input-link" onclick="toggleVisibility('step-6-input', null)"> <i class="fas fa-sign-in-alt"></i> <span>Input</span> </div> </div> </div> </li> <li class="row input"> <div class="col-2 badges"></div> <div class="col-11"> <div class="input" id="step-6-input" style="display: block;"> <div class="input-title" id="step-6-input-title">Input</div> <pre class="input prettyprint linenums rounded lang-text" id="input-6">Here is my Input!</pre> </div> </div> </li> </ol> </div> </li> <li class="lineitem step row align-items-center" id="step-7"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-Passed" id="step-7-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-7-name" onclick="toggleVisibility('step-7-details', null, null)" href="step-7-details"><strong>And</strong> my step 3 with an explanation</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-7-details" style="display: none"> </ol> </div> </li> <li class="lineitem step row align-items-center" id="step-8"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-Passed" id="step-8-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-8-name" onclick="toggleVisibility('step-8-details', null, null)" href="step-8-details"><strong>Then</strong> my step 3 with output</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-8-details" style="display: none"> <li class="row"> <div class="col-2 badges"></div> <div class="col-11"> <div class="step-details"> <div class="step-output-link badge pointer button" id="step-8-output-link" onclick="toggleVisibility('step-8-output', null)"> <i class="fas fa-sign-out-alt"></i> <span>Output</span> </div> </div> </div> </li> <li class="row output"> <div class="col-2 badges"></div> <div class="col-11"> <div class="output" id="step-8-output" style="display: block;"> <div class="output-title" id="step-8-output-title">Output</div> <pre class="output prettyprint linenums rounded lang-text" id="output-8">Here is my output.</pre> </div> </div> </li> </ol> </div> </li> </ol> </div> </li> </ol> </div> </li> </ol> </div> </li> </ol> </div> </li> <script> function toggleVisibility(elementId, iframeIdInput, iframeIdOutput) {{ var x = document.getElementById(elementId); if (x.style.display === "none") {{ x.style.display = "block"; if(iframeIdInput) { resizeIframe(document.getElementById(iframeIdInput)); } if(iframeIdOutput) { resizeIframe(document.getElementById(iframeIdOutput)); } }} else {{ x.style.display = "none"; }} }} </script> <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script> </body> </html>
./MyGeneratedSample.Features/test-results/MyGeneratedSample.Features.Results.json
{"Capabilities":[{"Features":[{"AsA":"sample user","Assignments":[],"Explanation":"\n\t\t# My Explanation\n\t\tThis is a\n\t\tmultiline explanation of the feature.\n\t\t**And it uses markdown!**","ExplanationFormat":21,"FullClassName":"MyGeneratedSample.Features.MyCapability.MyFeature","Name":"My Feature","Reason":"Passed","Scenarios":[{"Assignments":[],"Explanation":"This is an explanation of the scenario.","ExplanationFormat":21,"MethodName":"MyScenario","Name":"My Scenario","Outcome":1,"Reason":"Passed","Sort":1,"Steps":[{"EndTime":"\/Date(1575207732340-0600)\/","ExplanationFormat":21,"Input":"","InputFormat":1,"Name":"my step 1","Outcome":1,"Reason":"Passed","StartTime":"\/Date(1575207732339-0600)\/"},{"ActionType":1,"EndTime":"\/Date(1575207732345-0600)\/","ExplanationFormat":21,"Input":"Here \nis \nmy \nInput!","InputFormat":1,"Name":"my step 2 with multiline input","Outcome":1,"Reason":"Passed","StartTime":"\/Date(1575207732345-0600)\/"},{"ActionType":3,"EndTime":"\/Date(1575207732345-0600)\/","Explanation":"\n\t\t\t\t\t\t# Step 3 Explanation \n\t\t\t\t\t\tThis is a multiline explanation of \n\t\t\t\t\t\tStep 3. It uses markdown. It will\n\t\t\t\t\t\tbe printed out along with the step name in the\n\t\t\t\t\t\thtml report.","ExplanationFormat":21,"InputFormat":1,"Name":"my step 3 with an explanation","Outcome":1,"Reason":"Passed","StartTime":"\/Date(1575207732345-0600)\/"},{"ActionType":2,"EndTime":"\/Date(1575207732346-0600)\/","ExplanationFormat":21,"Input":"","InputFormat":1,"Name":"my step 3 with output","Outcome":1,"Output":"Here is my output.","OutputFormat":1,"Reason":"Passed","StartTime":"\/Date(1575207732345-0600)\/"}],"Tags":[]}],"SoThat":"you have my feature value","Sort":1,"Tags":[],"YouCan":"execute my feature"}],"Name":"My Generated Sample - Features - My Capability","Reason":"Passed"}],"Name":"My Generated Sample - Features","Reason":"Passed"}
./MyGeneratedSample.Features/test-results/MyGeneratedSample.Features.Results.txt
My Generated Sample - Features My Generated Sample - Features - My Capability [Passed] My Feature [Passed] My Scenario [Passed] Given my step 1 When my step 2 with multiline input Here is my Input! And my step 3 with an explanation Then my step 3 with output
./MyGeneratedSample.Features/test-results/MyGeneratedSample.Features.Results.Outline.txt
My Generated Sample - Features My Generated Sample - Features - My Capability [Passed] My Feature [Passed] My Scenario [Passed] Given my step 1 When my step 2 with multiline input Here is my Input! And my step 3 with an explanation Then my step 3 with output
./MyGeneratedSample.Features/test-results/MyGeneratedSample.Features.Results.opml
<?xml version="1.0"?> <opml version="2.0"> <head> </head> <body> <outline text="My Generated Sample - Features - My Capability [Passed]"> <outline text="My Feature [Passed]"> <outline text="My Scenario [Passed]"> <outline text="Given my step 1"/> <outline text="When my step 2 with multiline input"> <outline text="Here " /> <outline text="is " /> <outline text="my " /> <outline text="Input!" /> </outline> <outline text="And my step 3 with an explanation"/> <outline text="Then my step 3 with output"/> </outline> </outline> </outline> </body> </opml>
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
When you initialize an xBDD test project in an existing project
some files are skipped and some files are overwritten. All files that either end in xBDD.[FileType]
or end in .xbdd will be overwritten each time the project is generated.
This allows teams to 'upgrade' their default files when they change due to an upgrade.
Or it allows teams to regenerate copies of certain files like the FeatureSort or
ReasonSort to make it easier to identify new additions and add them to their custom versions.
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
MyGeneratedSample.Features/MyGeneratedSample.Features.csproj, MyGeneratedSample.Features/MyGeneratedSample.Features.csproj.xbdd, MyGeneratedSample.Features/xBddFeatureBase.xbdd.cs, MyGeneratedSample.Features/xBddSorting.cs, MyGeneratedSample.Features/xBddSorting.xbdd.cs, MyGeneratedSample.Features/xBddConfig.json, MyGeneratedSample.Features/xBddFeatureImport.txt, MyGeneratedSample.Features/xBddInitializeAndComplete.cs, MyGeneratedSample.Features/Features/MyCapability/MyFeature.cs
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
MyGeneratedSample.Features/MyGeneratedSample.Features.csproj, MyGeneratedSample.Features/MyGeneratedSample.Features.csproj.xbdd, MyGeneratedSample.Features/xBddFeatureBase.xbdd.cs, MyGeneratedSample.Features/xBddSorting.cs, MyGeneratedSample.Features/xBddSorting.xbdd.cs, MyGeneratedSample.Features/xBddConfig.json, MyGeneratedSample.Features/xBddFeatureImport.txt, MyGeneratedSample.Features/xBddInitializeAndComplete.cs, MyGeneratedSample.Features/Features/MyCapability/MyFeature.cs
MyGeneratedSample.Features/MyGeneratedSample.Features.csproj, MyGeneratedSample.Features/MyGeneratedSample.Features.csproj.xbdd, MyGeneratedSample.Features/xBddFeatureBase.xbdd.cs, MyGeneratedSample.Features/xBddSorting.cs, MyGeneratedSample.Features/xBddSorting.xbdd.cs, MyGeneratedSample.Features/xBddConfig.json, MyGeneratedSample.Features/xBddFeatureImport.txt, MyGeneratedSample.Features/xBddInitializeAndComplete.cs, MyGeneratedSample.Features/Features/MyCapability/MyFeature.cs
// Modified namespace MyGeneratedSample.Features { using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting.Logging; using xBDD; [TestClass] public class TestSetupAndBreakdown { [AssemblyInitialize] public static void TestRunStart(TestContext context) { xB.Initialize(); } [AssemblyCleanup()] public static void TestRunComplete() { xB.Complete("xBDDConfig.json", new xBDDSorting().GetSortedFeatureNames(), (message) => { Logger.LogMessage(message); }); } } }
MyGeneratedSample.Features/MyGeneratedSample.Features.csproj, MyGeneratedSample.Features/MyGeneratedSample.Features.csproj.xbdd, MyGeneratedSample.Features/xBddFeatureBase.xbdd.cs, MyGeneratedSample.Features/xBddSorting.cs, MyGeneratedSample.Features/xBddSorting.xbdd.cs, MyGeneratedSample.Features/xBddConfig.json, MyGeneratedSample.Features/xBddFeatureImport.txt, MyGeneratedSample.Features/xBddInitializeAndComplete.cs, MyGeneratedSample.Features/Features/MyCapability/MyFeature.cs
// Mmodified namespace MyGeneratedSample.Features.MyCapability { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [AsA("sample user")] [YouCan("execute my feature")] [SoThat("you have my feature value")] [Explanation(@" # My Explanation This is a multiline explanation of the feature. **And it uses markdown!**")] public partial class MyFeature: xBDDFeatureBase { [TestMethod] [Explanation("This is an explanation of the scenario.")] public async Task MyScenario() { await xB.CurrentRun.AddScenario(this, 1) .Given("my step 1", (s) => { //Add code to perform action. }) .When("my step 2 with multiline input", (s) => { //Add code to perform action. }, @" Here is my Input!".RemoveIndentation(6, true), TextFormat.text ) .And("my step 3 with an explanation", (s) => { //Add code to perform action. }, null, TextFormat.text, @" # Step 3 Explanation This is a multiline explanation of Step 3. It uses markdown. It will be printed out along with the step name in the html report." ) .Then("my step 3 with output", (s) => { //Add code to perform action. s.Output = "Here is my output."; s.OutputFormat = TextFormat.text; }) .Run(); } } }
Executes the command in powershell.
dotnet test
Test run for /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features.dll(.NETCoreApp,Version=v2.1) Microsoft (R) Test Execution Command Line Tool Version 16.3.0 Copyright (c) Microsoft Corporation. All rights reserved. Starting test execution, please wait... A total of 1 test files matched the specified pattern. ! MyImportedScenario [66ms] Test Run Successful. Total tests: 2 Passed: 1 Skipped: 1 Total time: 1.3492 Seconds
./MyGeneratedSample.Features/test-results/MyGeneratedSample.Features.Results.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>My Generated Sample - Features</title> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> <!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/open-iconic/1.1.1/font/css/open-iconic-bootstrap.min.css" integrity="sha256-BJ/G+e+y7bQdrYkS2RBTyNfBHpA9IuGaPmf9htub5MQ=\" crossorigin="anonymous" /> --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"> <style> /* General */ .container-fluid { padding: 0rem; margin: 0rem; } .flip {-moz-transform: scaleX(-1); -o-transform: scaleX(-1); -webkit-transform: scaleX(-1); transform: scaleX(-1); filter: FlipH; -ms-filter: "FlipH";} .pointer { cursor: pointer } /* Child Lists */ ol.testruns { margin: 1rem 0rem 1rem 0rem; } ol.capabilities { margin: 1rem 0rem 1rem 0rem; } ol.features { margin: 0rem 0rem 1rem 0rem; } ol.scenarios { margin: 0rem 0rem 1rem 0rem; } ol.steps { margin: 0rem 0rem 1rem 0rem;} /* Line Item Rows */ li.header { margin: 1rem 0rem 0rem 0rem; padding: 1rem 0rem 0rem 0rem; } li.testrun { margin: .75rem 0rem 0rem 0rem; border-top: rgb(183, 207, 248) solid 1px; padding: .75rem 0rem 0rem 0rem; } li.capability { margin: .75rem 0rem 0rem 0rem; border-top: rgb(183, 207, 248) solid 1px; padding: .75rem 0rem 0rem 0rem; } li.feature { margin: 0rem 0rem 0rem 0rem; } li.scenario { margin: 0rem 0rem 0rem 0rem; } li.step { margin: 0rem 0rem 0rem 0rem; } /* Badge Distros */ div.badge-distro { display: inline-block; vertical-align: middle; } div.badge-distro.header { width: 6rem; height: 2rem; } div.badge-distro.testrun { width: 6rem; height: 2rem; } div.badge-distro.capability { width: 6rem; height: 2rem; } div.badge-distro.feature { width: 6rem; height: 2rem; } div.badge-distro.scenario { width: 6rem; height: 1.5rem; } div.badge-distro.step { width: 6rem; height: 1rem; } /* Badges */ div.badges { flex: 0 0 3rem; } div.badge { background-color: #80808029; border: 1px white solid; width: 1.5rem; height: 1.5rem; vertical-align: middle; } div.badge:hover { background-color: #4343af } div.badge.label { width: 100%; height: 100%; vertical-align: middle; } div.header.badge { width: 4.5rem; height: 2rem; position: absolute; font-size: 1.25rem; } div.badge.testrun { width: 4.5rem; height: 2rem; position: absolute; font-size: 1.25rem; } div.badge.capability { width: 4.5rem; height: 2rem; position: absolute; font-size: 1.25rem; } div.badge.feature { width: 3rem; margin-left: 1.5rem; height: 1.75rem; position: absolute; font-size: 1rem; } div.badge.scenario { width: 2rem; margin-left: 4rem; position: inherit; } div.badge.step { width: 1rem; margin-left: 5rem; position: inherit; height: 1rem; } div.badge.step.label { width: 6rem; display: inline-block } div.badge.step.reason-PreviousError { background-color: gray; } div.badge.step.reason-ScenarioSkipped { background-color: gray; } span.step.reason { font-size: 1rem; color: gray; font-weight: 100; } div.distro { display: inline-block; border: 1px solid white; } div.distro.header { width: 3rem; height: 2rem; margin-left: 3rem; } div.distro.testrun { width: 3rem; height: 2rem; margin-left: 3rem; } div.distro.capability { width: 3rem; height: 2rem; margin-left: 3rem; } div.distro.feature { width: 3rem; height: 1.75rem; margin-left: 3rem; } div.badge.feature-statement-link { position: inherit; width: 1.5rem; height: 1.5rem; vertical-align: top; } div.name.feature { margin-left: 0rem; } div.name.scenario { margin-left: 0rem; } div.name.step { margin-left: 0rem; } span.name { vertical-align: top; } span.name.header { font-size: 2rem; font-weight: 400; margin-left: .75rem; } span.name.testrun { font-size: 2rem; font-weight: 400; margin-left: .75rem; } a.name.testrun { font-size: 1.5rem; font-weight: 400; color: rgb(68,114,198); } span.name.capability { font-size: 1.5rem; font-weight: 400; color: rgb(68,114,198); } span.name.feature { font-size: 1.25rem; font-weight: 400; color: rgb(68,114,198); } span.name.scenario { font-size: 1.125rem; font-weight: 400; vertical-align: middle; font-style: italic; color: rgb(68,114,198); } span.name.step { font-size: 1rem; font-weight: 400; } span.assignments { float: right; color: Gray; font-size: 1rem; } span.tags { float: right; margin-right: .5rem; color: Gray; font-size: 1rem; } div.reason-duration { flex: 0 0 6rem; font-size: 1rem; color: gray; vertical-align: text-top; white-space: nowrap; } span.reason-duration.step { font-size: 1rem; color: gray; font-weight: 100; } span.duration.step { font-size: 1rem; color: gray; font-weight: 100; } /* Stats */ .stats-graph-tables { border-top: 0.5rem; } .table { margin: 2px !important; } .table th, .table td { border-top: none !important; line-height: 1 !important; padding: 0px 10px !important; } td.graph td { padding: 0px !important; } .table td.bar { padding: 0px !important; } div.distro-corner-tr { position: absolute; margin-left: 5.35rem; width: 10px; height: 10px; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAMAAAHQVe0RAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAVUExURQAAAP///////////////////////0jPbQQAAAAGdFJOUwC81uLs9S3UunwAAAAJcEhZcwAAEk0AABJNAfOXxKcAAABZSURBVBhXlY7bDsAgCEOdSv//k22RLZjx4jFKabjYwCP0miuyrQ215fxl8LJZQVQlIvmALzCwLUkJMnJlxEuOYcc2TLeDSaOhR/bR0Z6QicK6o5xZbv//E1gwYwFZkRA8AQAAAABJRU5ErkJggg==") no-repeat top right; } div.distro-corner-br { position: absolute; margin-left: 5.35rem; width: 10px; height: 10px; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAMAAAHQVe0RAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAVUExURQAAAP///////////////////////0jPbQQAAAAGdFJOUwC81uLs9S3UunwAAAAJcEhZcwAAEk0AABJNAfOXxKcAAABZSURBVBhXlY7bDsAgCEOdSv//k22RLZjx4jFKabjYwCP0miuyrQ215fxl8LJZQVQlIvmALzCwLUkJMnJlxEuOYcc2TLeDSaOhR/bR0Z6QicK6o5xZbv//E1gwYwFZkRA8AQAAAABJRU5ErkJggg==") no-repeat bottom right; } div.distro-corner-tr.header { margin-top: .05rem; } div.distro-corner-br.header { margin-top: 1.32rem; } div.distro-corner-tr.testrun { margin-top: .05rem; } div.distro-corner-br.testrun { margin-top: 1.32rem; } div.distro-corner-tr.capability { margin-top: .05rem; } div.distro-corner-br.capability { margin-top: 1.32rem; } div.distro-corner-tr.feature { margin-top: .06rem; } div.distro-corner-br.feature { margin-top: 1.1rem; } div#report-dates { margin: 0rem 0rem .5rem 5rem; } /* Statement */ div.statement-title { margin-bottom: 1rem; } div.statement-content { margin: 1rem 0rem; border: lightgray solid 1px; padding: 1rem; } /* Step Details */ div.step-details { margin: .5rem 0rem; } div.step-exception-link.button { width: 6rem !important; } div.step-output-link.button { width: 6rem; background-color: gray; color: white; } div.step-input-link.button { width: 6rem; background-color: gray; color: white; } div.step-statement-link { width: 6rem; background-color: gray; color: white; } /* Exceptions */ div.exception { margin-bottom: 1rem; } div.exception-details { margin: 1rem 0rem; border: #dc3545 solid 1px; padding: 1rem; } dl.exception dt { margin-bottom: .25rem; } dl.exception-type, dl.exception-message, dl.exception-stack { padding: .5rem; } dl.exception-type pre, dl.exception-message pre, dl.exception-stack pre { padding: .5rem; } /* Input, Output, Explanation */ div.input { margin-bottom: 1rem; } div.output { margin-bottom: 1rem; } div.explanation { margin-bottom: 1rem; } div.input-title { margin-bottom: 1rem; } div.output-title { margin-bottom: 1rem; } div.explanation-title { margin-bottom: 1rem; } div.input.markdown { border: 1px solid gray; padding: 1rem; } div.output.markdown { border: 1px solid gray; padding: 1rem; } div.explanation.markdown { border: 1px solid gray; padding: 1rem; } pre { white-space: pre !important; } pre.input { margin-bottom: 1rem; } pre.output { margin-bottom: 1rem; } pre.explanation { margin-bottom: 1rem; } iframe { border: 1px solid gray; resize: both; overflow: auto; } pre.prettyprint { background-color: #eee; } .linenums li { list-style-type: decimal !important; } .reason-Removing { background-color: rgb(124,124,124) !important; color: White !important;} .reason-Passed { background-color: rgb(112,173,71) !important; color: White !important;} .reason-Untested { background-color: rgb(195,155,225) !important; color: rgb(15, 1, 26) !important;} .reason-Committed { background-color: rgb(46,117,182) !important; color: White !important;} .reason-Ready { background-color: rgb(101, 167, 227) !important; color: rgb(2, 20, 36) !important;} .reason-Defining { background-color: rgb(146, 194, 238) !important; color: rgb(7, 36, 63) !important;} .reason-Failed { background-color: rgb(192,0,0) !important; color: White !important;} </style> </header> <body> <script language="javascript" type="text/javascript"> function resizeIframe(obj) { obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px'; } </script> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">xBDD Test Results</a> <button id="menu-button" class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavAltMarkup"> <div class="navbar-nav"> <a class="nav-item nav-link active" href="javascript: $('ol.features').collapse('show');" id="expand-all-capabilities-button">Expand All Capabilities <span class="sr-only">(current)</span></a> </div> </div> </nav><li class="lineitem header row align-items-center" id="header-1"> <div class="col-2 badges"> <div class="header badge-distro" id="header-1-badge-distro" title="Ready Count: Scenarios" onclick="toggleVisibility('header-1-stats')"> <div class="header badge badge-pill pointer total reason-Ready" id="header-1-badge">2</div> <div class="header distro-corner-tr"> </div> <div class="header distro-corner-br"> </div> <div class="header distro pointer" id="header-1-distro"> <div class="reason-Ready" style="height: 50%; width: 100%;"></div> <div class="reason-Passed" style="height: 50%; width: 100%;"></div> </div> </div> </div> <div class="col"> <div class="header name"> <span class="header name pointer" id="header-1-name" onclick="toggleVisibility('header-1-capabilities', null, null)" href="header-1-capabilities">My Generated Sample - Features</span> </div> </div> <div class="col-2 header reason-duration text-right"> <span class="header duration">[64 ms]</span> </div> </li> <li class="row stats"> <div class="col-2 badges"></div> <div class="col-11"> <div class="stats-graph-tables" id="header-1-stats" style="width: 100%; empty-cells: show; display: block;"> <table class="table table-condensed stats-table"> <tr id="header-header-reason-stats"> <td class="stats-label text-muted text-right"> </td> <td class="text-center" >Total</td> <td class="text-center"><div class="badge label reason-Failed">Failed</div></td> <td class="text-center"><div class="badge label reason-Defining">Defining</div></td> <td class="text-center"><div class="badge label reason-Ready">Ready</div></td> <td class="text-center"><div class="badge label reason-Committed">Committed</div></td> <td class="text-center"><div class="badge label reason-Untested">Untested</div></td> <td class="text-center"><div class="badge label reason-Passed">Passed</div></td> <td class="text-center"><div class="badge label reason-Removing">Removing</div></td> <tr id="report-capabilities-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Capabilities</td> <td class="text-center" style="width: 12%;">2</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> <tr id="report-features-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Features</td> <td class="text-center" style="width: 12%;">2</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="text-center" style="width: 12%;">2</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> </table> <table class="table table-condensed bargraph-table"> <tr id="header-header-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;"> </td> <td class="outcome-bar-chart" style="width: 90%;"> </td> </tr> <tr id="report-capabilities-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Capabilities</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Ready" style="width: 50%;"></td> <td class="bar text-center reason-Passed" style="width: 50%;"></td> </tr> </table> </td> </tr> <tr id="report-features-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Features</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Ready" style="width: 50%;"></td> <td class="bar text-center reason-Passed" style="width: 50%;"></td> </tr> </table> </td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Ready" style="width: 50%;"></td> <td class="bar text-center reason-Passed" style="width: 50%;"></td> </tr> </table> </td> </tr> </table> </div> </div> </li> <li class="row children"> <div class="col-12"> <ol class="capabilities list-unstyled container-fluid" id="header-1-capabilities" style="display: block"> <li class="lineitem capability row align-items-center" id="capability-2"> <div class="col-2 badges"> <div class="capability badge-distro" id="capability-2-badge-distro" title="Passed Count: Scenarios" onclick="toggleVisibility('capability-2-stats')"> <div class="capability badge badge-pill pointer total reason-Passed" id="capability-2-badge">1</div> <div class="capability distro-corner-tr"> </div> <div class="capability distro-corner-br"> </div> <div class="capability distro pointer" id="capability-2-distro"> <div class="reason-Passed" style="height: 100%; width: 100%;"></div> </div> </div> </div> <div class="col"> <div class="capability name"> <span class="capability name pointer" id="capability-2-name" onclick="toggleVisibility('capability-2-features', null, null)" href="capability-2-features">My Capability</span> </div> </div> <div class="col-2 capability reason-duration text-right"> <span class="capability duration">[0 ms]</span> </div> </li> <li class="row stats"> <div class="col-2 badges"></div> <div class="col-11"> <div class="stats-graph-tables" id="capability-2-stats" style="width: 100%; empty-cells: show; display: none;"> <table class="table table-condensed stats-table"> <tr id="capability-header-reason-stats"> <td class="stats-label text-muted text-right"> </td> <td class="text-center" >Total</td> <td class="text-center"><div class="badge label reason-Failed">Failed</div></td> <td class="text-center"><div class="badge label reason-Defining">Defining</div></td> <td class="text-center"><div class="badge label reason-Ready">Ready</div></td> <td class="text-center"><div class="badge label reason-Committed">Committed</div></td> <td class="text-center"><div class="badge label reason-Untested">Untested</div></td> <td class="text-center"><div class="badge label reason-Passed">Passed</div></td> <td class="text-center"><div class="badge label reason-Removing">Removing</div></td> <tr id="report-features-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Features</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> </table> <table class="table table-condensed bargraph-table"> <tr id="capability-header-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;"> </td> <td class="outcome-bar-chart" style="width: 90%;"> </td> </tr> <tr id="report-features-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Features</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Passed" style="width: 100%;"></td> </tr> </table> </td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Passed" style="width: 100%;"></td> </tr> </table> </td> </tr> </table> </div> </div> </li> <li class="row children"> <div class="col-12"> <ol class="features list-unstyled container-fluid" id="capability-2-features" style="display: none"> <li class="lineitem feature row align-items-center" id="feature-3"> <div class="col-2 badges"> <div class="feature badge-distro" id="feature-3-badge-distro" title="Passed Count: Scenarios" onclick="toggleVisibility('feature-3-stats')"> <div class="feature badge badge-pill pointer total reason-Passed" id="feature-3-badge">1</div> <div class="feature distro-corner-tr"> </div> <div class="feature distro-corner-br"> </div> <div class="feature distro pointer" id="feature-3-distro"> <div class="reason-Passed" style="height: 100%; width: 100%;"></div> </div> </div> </div> <div class="col"> <div class="feature name"> <span class="feature name pointer" id="feature-3-name" onclick="toggleVisibility('feature-3-scenarios', null, null)" href="feature-3-scenarios">My Feature</span> <div class="feature-statement-link badge pointer badge-secondary" id="feature-3-statement-link" onclick="toggleVisibility('feature-3-statement'); toggleVisibility('feature-3-explanation', null)"> <i class="fas fa-info"></i> </div> </div> </div> <div class="col-2 feature reason-duration text-right"> <span class="feature duration">[0 ms]</span> </div> </li> <li class="row stats"> <div class="col-2 badges"></div> <div class="col-11"> <div class="stats-graph-tables" id="feature-3-stats" style="width: 100%; empty-cells: show; display: none;"> <table class="table table-condensed stats-table"> <tr id="feature-header-reason-stats"> <td class="stats-label text-muted text-right"> </td> <td class="text-center" >Total</td> <td class="text-center"><div class="badge label reason-Failed">Failed</div></td> <td class="text-center"><div class="badge label reason-Defining">Defining</div></td> <td class="text-center"><div class="badge label reason-Ready">Ready</div></td> <td class="text-center"><div class="badge label reason-Committed">Committed</div></td> <td class="text-center"><div class="badge label reason-Untested">Untested</div></td> <td class="text-center"><div class="badge label reason-Passed">Passed</div></td> <td class="text-center"><div class="badge label reason-Removing">Removing</div></td> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> </tr> </table> <table class="table table-condensed bargraph-table"> <tr id="feature-header-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;"> </td> <td class="outcome-bar-chart" style="width: 90%;"> </td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Passed" style="width: 100%;"></td> </tr> </table> </td> </tr> </table> </div> </div> </li> <li class="row statement"> <div class="col-2 badges"></div> <div class="col-11"> <div class="feature statement" id="feature-3-statement" style="display: none;"> <div class="statement-title">Statement</div> <div class="feature statement-content rounded" id="feature-3-statement"><strong>As a</strong> sample user<br/> <strong>You can </strong> execute my feature<br/> <strong>So that </strong> you have my feature value<br/></div> </div> </div> </li> <li class="row explanation"> <div class="col-2 badges"></div> <div class="col-11"> <div class="explanation" id="feature-3-explanation" style="display: none;"> <div class="explanation-title" id="step-3-explanation-title">Explanation</div> <div class="explanation markdown" id="explanation-3"><pre><code> # My Explanation This is a multiline explanation of the feature. **And it uses markdown!** </code></pre></div> </div> </div> </li> <li class="row children"> <div class="col-12"> <ol class="scenarios list-unstyled container-fluid" id="feature-3-scenarios" style="display: none"> <li class="lineitem scenario row align-items-center" id="scenario-4"> <div class="col-2 badges"> <div class="scenario badge badge-pill pointer total reason-Passed" id="scenario-4-badge">4</div> </div> <div class="col"> <div class="scenario name"> <span class="scenario name pointer" id="scenario-4-name" onclick="toggleVisibility('scenario-4-scenarios', null, null)" href="scenario-4-scenarios">My Scenario</span> <div class="scenario-statement-link badge pointer badge-secondary" id="scenario-4-statement-link" onclick="toggleVisibility('scenario-4-statement'); toggleVisibility('scenario-4-explanation', null)"> <i class="fas fa-info"></i> </div> </div> </div> <div class="col-2 scenario reason-duration text-right"> <span class="scenario duration">[0 ms]</span> </div> </li> <li class="row stats"> <div class="col-2 badges"></div> <div class="col-11"> <div class="stats-graph-tables" id="scenario-4-stats" style="width: 100%; empty-cells: show; display: none;"> <table class="table table-condensed stats-table"> <tr id="scenario-header-reason-stats"> <td class="stats-label text-muted text-right"> </td> <td class="text-center" >Total</td> <td class="text-center"><div class="badge label reason-Failed">Failed</div></td> <td class="text-center"><div class="badge label reason-Defining">Defining</div></td> <td class="text-center"><div class="badge label reason-Ready">Ready</div></td> <td class="text-center"><div class="badge label reason-Committed">Committed</div></td> <td class="text-center"><div class="badge label reason-Untested">Untested</div></td> <td class="text-center"><div class="badge label reason-Passed">Passed</div></td> <td class="text-center"><div class="badge label reason-Removing">Removing</div></td> </table> <table class="table table-condensed bargraph-table"> <tr id="scenario-header-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;"> </td> <td class="outcome-bar-chart" style="width: 90%;"> </td> </tr> </table> </div> </div> </li> <li class="row statement"> <div class="col-2 badges"></div> <div class="col-11"> <div class="scenario statement" id="scenario-4-statement" style="display: none;"> </div> </div> </li> <li class="row explanation"> <div class="col-2 badges"></div> <div class="col-11"> <div class="explanation" id="scenario-4-explanation" style="display: none;"> <div class="explanation-title" id="step-4-explanation-title">Explanation</div> <div class="explanation markdown" id="explanation-4"><p>This is an explanation of the scenario.</p></div> </div> </div> </li> <li class="row children"> <div class="col-12"> <ol class="scenarios list-unstyled container-fluid" id="scenario-4-scenarios" style="display: none"> <li class="lineitem step row align-items-center" id="step-5"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-Passed" id="step-5-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-5-name" onclick="toggleVisibility('step-5-details', null, null)" href="step-5-details"><strong>Given</strong> my step 1</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-5-details" style="display: none"> </ol> </div> </li> <li class="lineitem step row align-items-center" id="step-6"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-Passed" id="step-6-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-6-name" onclick="toggleVisibility('step-6-details', null, null)" href="step-6-details"><strong>When</strong> my step 2 with multiline input</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-6-details" style="display: none"> <li class="row"> <div class="col-2 badges"></div> <div class="col-11"> <div class="step-details"> <div class="step-input-link badge pointer button" id="step-6-input-link" onclick="toggleVisibility('step-6-input', null)"> <i class="fas fa-sign-in-alt"></i> <span>Input</span> </div> </div> </div> </li> <li class="row input"> <div class="col-2 badges"></div> <div class="col-11"> <div class="input" id="step-6-input" style="display: block;"> <div class="input-title" id="step-6-input-title">Input</div> <pre class="input prettyprint linenums rounded lang-text" id="input-6">Here is my Input!</pre> </div> </div> </li> </ol> </div> </li> <li class="lineitem step row align-items-center" id="step-7"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-Passed" id="step-7-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-7-name" onclick="toggleVisibility('step-7-details', null, null)" href="step-7-details"><strong>And</strong> my step 3 with an explanation</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-7-details" style="display: none"> </ol> </div> </li> <li class="lineitem step row align-items-center" id="step-8"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-Passed" id="step-8-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-8-name" onclick="toggleVisibility('step-8-details', null, null)" href="step-8-details"><strong>Then</strong> my step 3 with output</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-8-details" style="display: none"> <li class="row"> <div class="col-2 badges"></div> <div class="col-11"> <div class="step-details"> <div class="step-output-link badge pointer button" id="step-8-output-link" onclick="toggleVisibility('step-8-output', null)"> <i class="fas fa-sign-out-alt"></i> <span>Output</span> </div> </div> </div> </li> <li class="row output"> <div class="col-2 badges"></div> <div class="col-11"> <div class="output" id="step-8-output" style="display: block;"> <div class="output-title" id="step-8-output-title">Output</div> <pre class="output prettyprint linenums rounded lang-text" id="output-8">Here is my output.</pre> </div> </div> </li> </ol> </div> </li> </ol> </div> </li> </ol> </div> </li> </ol> </div> </li> <li class="lineitem capability row align-items-center" id="capability-9"> <div class="col-2 badges"> <div class="capability badge-distro" id="capability-9-badge-distro" title="Ready Count: Scenarios" onclick="toggleVisibility('capability-9-stats')"> <div class="capability badge badge-pill pointer total reason-Ready" id="capability-9-badge">1</div> <div class="capability distro-corner-tr"> </div> <div class="capability distro-corner-br"> </div> <div class="capability distro pointer" id="capability-9-distro"> <div class="reason-Ready" style="height: 100%; width: 100%;"></div> </div> </div> </div> <div class="col"> <div class="capability name"> <span class="capability name pointer" id="capability-9-name" onclick="toggleVisibility('capability-9-features', null, null)" href="capability-9-features">My Imported Capability 1</span> </div> </div> <div class="col-2 capability reason-duration text-right"> <span class="capability duration">[0 ms]</span> </div> </li> <li class="row stats"> <div class="col-2 badges"></div> <div class="col-11"> <div class="stats-graph-tables" id="capability-9-stats" style="width: 100%; empty-cells: show; display: none;"> <table class="table table-condensed stats-table"> <tr id="capability-header-reason-stats"> <td class="stats-label text-muted text-right"> </td> <td class="text-center" >Total</td> <td class="text-center"><div class="badge label reason-Failed">Failed</div></td> <td class="text-center"><div class="badge label reason-Defining">Defining</div></td> <td class="text-center"><div class="badge label reason-Ready">Ready</div></td> <td class="text-center"><div class="badge label reason-Committed">Committed</div></td> <td class="text-center"><div class="badge label reason-Untested">Untested</div></td> <td class="text-center"><div class="badge label reason-Passed">Passed</div></td> <td class="text-center"><div class="badge label reason-Removing">Removing</div></td> <tr id="report-features-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Features</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> </tr> </table> <table class="table table-condensed bargraph-table"> <tr id="capability-header-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;"> </td> <td class="outcome-bar-chart" style="width: 90%;"> </td> </tr> <tr id="report-features-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Features</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Ready" style="width: 100%;"></td> </tr> </table> </td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Ready" style="width: 100%;"></td> </tr> </table> </td> </tr> </table> </div> </div> </li> <li class="row children"> <div class="col-12"> <ol class="features list-unstyled container-fluid" id="capability-9-features" style="display: none"> <li class="lineitem feature row align-items-center" id="feature-10"> <div class="col-2 badges"> <div class="feature badge-distro" id="feature-10-badge-distro" title="Ready Count: Scenarios" onclick="toggleVisibility('feature-10-stats')"> <div class="feature badge badge-pill pointer total reason-Ready" id="feature-10-badge">1</div> <div class="feature distro-corner-tr"> </div> <div class="feature distro-corner-br"> </div> <div class="feature distro pointer" id="feature-10-distro"> <div class="reason-Ready" style="height: 100%; width: 100%;"></div> </div> </div> </div> <div class="col"> <div class="feature name"> <span class="feature name pointer" id="feature-10-name" onclick="toggleVisibility('feature-10-scenarios', null, null)" href="feature-10-scenarios">My Imported Feature</span> <div class="feature-statement-link badge pointer badge-secondary" id="feature-10-statement-link" onclick="toggleVisibility('feature-10-statement'); toggleVisibility('feature-10-explanation', null)"> <i class="fas fa-info"></i> </div> </div> </div> <div class="col-2 feature reason-duration text-right"> <span class="feature duration">[0 ms]</span> </div> </li> <li class="row stats"> <div class="col-2 badges"></div> <div class="col-11"> <div class="stats-graph-tables" id="feature-10-stats" style="width: 100%; empty-cells: show; display: none;"> <table class="table table-condensed stats-table"> <tr id="feature-header-reason-stats"> <td class="stats-label text-muted text-right"> </td> <td class="text-center" >Total</td> <td class="text-center"><div class="badge label reason-Failed">Failed</div></td> <td class="text-center"><div class="badge label reason-Defining">Defining</div></td> <td class="text-center"><div class="badge label reason-Ready">Ready</div></td> <td class="text-center"><div class="badge label reason-Committed">Committed</div></td> <td class="text-center"><div class="badge label reason-Untested">Untested</div></td> <td class="text-center"><div class="badge label reason-Passed">Passed</div></td> <td class="text-center"><div class="badge label reason-Removing">Removing</div></td> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">1</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> <td class="text-center" style="width: 12%;">0</td> </tr> </table> <table class="table table-condensed bargraph-table"> <tr id="feature-header-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;"> </td> <td class="outcome-bar-chart" style="width: 90%;"> </td> </tr> <tr id="report-scenarios-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;">Scenarios</td> <td class="outcome-bar-chart" style="width: 100%;"> <table class="table" style="width: 100%; empty-cells: show; height: 14px;"> <tr> <td class="bar text-center reason-Ready" style="width: 100%;"></td> </tr> </table> </td> </tr> </table> </div> </div> </li> <li class="row statement"> <div class="col-2 badges"></div> <div class="col-11"> <div class="feature statement" id="feature-10-statement" style="display: none;"> <div class="statement-title">Statement</div> <div class="feature statement-content rounded" id="feature-10-statement"><strong>As a</strong> [Missing Name!]<br/> <strong>You can </strong> [Missing Capability!]<br/> <strong>So that </strong> [Missing Value!]<br/></div> </div> </div> </li> <li class="row children"> <div class="col-12"> <ol class="scenarios list-unstyled container-fluid" id="feature-10-scenarios" style="display: none"> <li class="lineitem scenario row align-items-center" id="scenario-11"> <div class="col-2 badges"> <div class="scenario badge badge-pill pointer total reason-Ready" id="scenario-11-badge">6</div> </div> <div class="col"> <div class="scenario name"> <span class="scenario name pointer" id="scenario-11-name" onclick="toggleVisibility('scenario-11-scenarios', null, null)" href="scenario-11-scenarios">My Imported Scenario</span> </div> </div> <div class="col-2 scenario reason-duration text-right"> <span class="scenario duration">[5 ms]</span> </div> </li> <li class="row stats"> <div class="col-2 badges"></div> <div class="col-11"> <div class="stats-graph-tables" id="scenario-11-stats" style="width: 100%; empty-cells: show; display: none;"> <table class="table table-condensed stats-table"> <tr id="scenario-header-reason-stats"> <td class="stats-label text-muted text-right"> </td> <td class="text-center" >Total</td> <td class="text-center"><div class="badge label reason-Failed">Failed</div></td> <td class="text-center"><div class="badge label reason-Defining">Defining</div></td> <td class="text-center"><div class="badge label reason-Ready">Ready</div></td> <td class="text-center"><div class="badge label reason-Committed">Committed</div></td> <td class="text-center"><div class="badge label reason-Untested">Untested</div></td> <td class="text-center"><div class="badge label reason-Passed">Passed</div></td> <td class="text-center"><div class="badge label reason-Removing">Removing</div></td> </table> <table class="table table-condensed bargraph-table"> <tr id="scenario-header-reason-stats"> <td class="stats-label text-muted text-right" style="width: 0%; padding-left: 0px !important;"> </td> <td class="outcome-bar-chart" style="width: 90%;"> </td> </tr> </table> </div> </div> </li> <li class="row children"> <div class="col-12"> <ol class="scenarios list-unstyled container-fluid" id="scenario-11-scenarios" style="display: none"> <li class="lineitem step row align-items-center" id="step-12"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-ScenarioSkipped" id="step-12-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-12-name" onclick="toggleVisibility('step-12-details', null, null)" href="step-12-details"><strong>Given</strong> you have the xbdd tools installed</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-12-details" style="display: none"> </ol> </div> </li> <li class="lineitem step row align-items-center" id="step-13"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-ScenarioSkipped" id="step-13-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-13-name" onclick="toggleVisibility('step-13-details', null, null)" href="step-13-details"><strong>And</strong> you have an xBDDFeatureImport.txt file defined in the root of the project</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-13-details" style="display: none"> </ol> </div> </li> <li class="lineitem step row align-items-center" id="step-14"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-ScenarioSkipped" id="step-14-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-14-name" onclick="toggleVisibility('step-14-details', null, null)" href="step-14-details"><strong>When</strong> you execute 'dotnet xbdd project generate MSTest'</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-14-details" style="display: none"> </ol> </div> </li> <li class="lineitem step row align-items-center" id="step-15"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-ScenarioSkipped" id="step-15-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-15-name" onclick="toggleVisibility('step-15-details', null, null)" href="step-15-details"><strong>Then</strong> a new feature will be defined in the project with two partial class files</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-15-details" style="display: none"> </ol> </div> </li> <li class="lineitem step row align-items-center" id="step-16"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-ScenarioSkipped" id="step-16-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-16-name" onclick="toggleVisibility('step-16-details', null, null)" href="step-16-details"><strong>And</strong> you can finish the import by moving the scenarios from the feature.xbdd.cs file to the feature.cs file</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-16-details" style="display: none"> </ol> </div> </li> <li class="lineitem step row align-items-center" id="step-17"> <div class="col-2 badges"> <div class="step badge badge-pill pointer total reason-ScenarioSkipped" id="step-17-badge"> </div> </div> <div class="col"> <div class="step name"> <span class="step name pointer" id="step-17-name" onclick="toggleVisibility('step-17-details', null, null)" href="step-17-details"><strong>And</strong> you can delete the .xbdd.cs file and clear out the xBDDFeatureImport.txt file of the feature</span> </div> </div> <div class="col-2 step reason-duration text-right"> <span class="step duration">[0 ms]</span> </div> </li> <li class="row children"> <div class="col-12"> <ol class="details list-unstyled container-fluid" id="step-17-details" style="display: none"> </ol> </div> </li> </ol> </div> </li> </ol> </div> </li> </ol> </div> </li> </ol> </div> </li> <script> function toggleVisibility(elementId, iframeIdInput, iframeIdOutput) {{ var x = document.getElementById(elementId); if (x.style.display === "none") {{ x.style.display = "block"; if(iframeIdInput) { resizeIframe(document.getElementById(iframeIdInput)); } if(iframeIdOutput) { resizeIframe(document.getElementById(iframeIdOutput)); } }} else {{ x.style.display = "none"; }} }} </script> <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script> </body> </html>
./MyGeneratedSample.Features/test-results/MyGeneratedSample.Features.Results.json
{"Capabilities":[{"Features":[{"Assignments":[],"ExplanationFormat":21,"FullClassName":"MyGeneratedSample.Features.MyImportedCapability1.MyImportedFeature","Name":"My Imported Feature","Reason":"Ready","Scenarios":[{"Assignments":[],"ExplanationFormat":21,"MethodName":"MyImportedScenario","Name":"My Imported Scenario","Outcome":3,"Reason":"Ready","Sort":1000,"Steps":[{"EndTime":"\/Date(1575207737165-0600)\/","ExplanationFormat":21,"Input":"","InputFormat":1,"Name":"you have the xbdd tools installed","Outcome":3,"Reason":"Scenario Skipped","StartTime":"\/Date(1575207737165-0600)\/"},{"ActionType":3,"EndTime":"\/Date(1575207737171-0600)\/","ExplanationFormat":21,"Input":"","InputFormat":1,"Name":"you have an xBDDFeatureImport.txt file defined in the root of the project","Outcome":3,"Reason":"Scenario Skipped","StartTime":"\/Date(1575207737171-0600)\/"},{"ActionType":1,"EndTime":"\/Date(1575207737171-0600)\/","ExplanationFormat":21,"Input":"","InputFormat":1,"Name":"you execute 'dotnet xbdd project generate MSTest'","Outcome":3,"Reason":"Scenario Skipped","StartTime":"\/Date(1575207737171-0600)\/"},{"ActionType":2,"EndTime":"\/Date(1575207737171-0600)\/","ExplanationFormat":21,"Input":"","InputFormat":1,"Name":"a new feature will be defined in the project with two partial class files","Outcome":3,"Reason":"Scenario Skipped","StartTime":"\/Date(1575207737171-0600)\/"},{"ActionType":3,"EndTime":"\/Date(1575207737171-0600)\/","ExplanationFormat":21,"Input":"","InputFormat":1,"Name":"you can finish the import by moving the scenarios from the feature.xbdd.cs file to the feature.cs file","Outcome":3,"Reason":"Scenario Skipped","StartTime":"\/Date(1575207737171-0600)\/"},{"ActionType":3,"EndTime":"\/Date(1575207737171-0600)\/","ExplanationFormat":21,"Input":"","InputFormat":1,"Name":"you can delete the .xbdd.cs file and clear out the xBDDFeatureImport.txt file of the feature","Outcome":3,"Reason":"Scenario Skipped","StartTime":"\/Date(1575207737171-0600)\/"}],"Tags":[]}],"Sort":1000000,"Tags":[]}],"Name":"My Generated Sample - Features - My Imported Capability 1","Reason":"Ready"},{"Features":[{"AsA":"sample user","Assignments":[],"Explanation":"\n\t\t# My Explanation\n\t\tThis is a\n\t\tmultiline explanation of the feature.\n\t\t**And it uses markdown!**","ExplanationFormat":21,"FullClassName":"MyGeneratedSample.Features.MyCapability.MyFeature","Name":"My Feature","Reason":"Passed","Scenarios":[{"Assignments":[],"Explanation":"This is an explanation of the scenario.","ExplanationFormat":21,"MethodName":"MyScenario","Name":"My Scenario","Outcome":1,"Reason":"Passed","Sort":1,"Steps":[{"EndTime":"\/Date(1575207737230-0600)\/","ExplanationFormat":21,"Input":"","InputFormat":1,"Name":"my step 1","Outcome":1,"Reason":"Passed","StartTime":"\/Date(1575207737230-0600)\/"},{"ActionType":1,"EndTime":"\/Date(1575207737230-0600)\/","ExplanationFormat":21,"Input":"Here \nis \nmy \nInput!","InputFormat":1,"Name":"my step 2 with multiline input","Outcome":1,"Reason":"Passed","StartTime":"\/Date(1575207737230-0600)\/"},{"ActionType":3,"EndTime":"\/Date(1575207737231-0600)\/","Explanation":"\n\t\t\t\t\t\t# Step 3 Explanation \n\t\t\t\t\t\tThis is a multiline explanation of \n\t\t\t\t\t\tStep 3. It uses markdown. It will\n\t\t\t\t\t\tbe printed out along with the step name in the\n\t\t\t\t\t\thtml report.","ExplanationFormat":21,"InputFormat":1,"Name":"my step 3 with an explanation","Outcome":1,"Reason":"Passed","StartTime":"\/Date(1575207737230-0600)\/"},{"ActionType":2,"EndTime":"\/Date(1575207737231-0600)\/","ExplanationFormat":21,"Input":"","InputFormat":1,"Name":"my step 3 with output","Outcome":1,"Output":"Here is my output.","OutputFormat":1,"Reason":"Passed","StartTime":"\/Date(1575207737231-0600)\/"}],"Tags":[]}],"SoThat":"you have my feature value","Sort":1,"Tags":[],"YouCan":"execute my feature"}],"Name":"My Generated Sample - Features - My Capability","Reason":"Passed"}],"Name":"My Generated Sample - Features","Reason":"Ready"}
./MyGeneratedSample.Features/test-results/MyGeneratedSample.Features.Results.txt
My Generated Sample - Features My Generated Sample - Features - My Capability [Passed] My Feature [Passed] My Scenario [Passed] Given my step 1 When my step 2 with multiline input Here is my Input! And my step 3 with an explanation Then my step 3 with output My Generated Sample - Features - My Imported Capability 1 [Ready] My Imported Feature [Ready] My Imported Scenario [Ready] Given you have the xbdd tools installed And you have an xBDDFeatureImport.txt file defined in the root of the project When you execute 'dotnet xbdd project generate MSTest' Then a new feature will be defined in the project with two partial class files And you can finish the import by moving the scenarios from the feature.xbdd.cs file to the feature.cs file And you can delete the .xbdd.cs file and clear out the xBDDFeatureImport.txt file of the feature
./MyGeneratedSample.Features/test-results/MyGeneratedSample.Features.Results.Outline.txt
My Generated Sample - Features My Generated Sample - Features - My Capability [Passed] My Feature [Passed] My Scenario [Passed] Given my step 1 When my step 2 with multiline input Here is my Input! And my step 3 with an explanation Then my step 3 with output My Generated Sample - Features - My Imported Capability 1 [Ready] My Imported Feature [Ready] My Imported Scenario [Ready] Given you have the xbdd tools installed And you have an xBDDFeatureImport.txt file defined in the root of the project When you execute 'dotnet xbdd project generate MSTest' Then a new feature will be defined in the project with two partial class files And you can finish the import by moving the scenarios from the feature.xbdd.cs file to the feature.cs file And you can delete the .xbdd.cs file and clear out the xBDDFeatureImport.txt file of the feature
./MyGeneratedSample.Features/test-results/MyGeneratedSample.Features.Results.opml
<?xml version="1.0"?> <opml version="2.0"> <head> </head> <body> <outline text="My Generated Sample - Features - My Capability [Passed]"> <outline text="My Feature [Passed]"> <outline text="My Scenario [Passed]"> <outline text="Given my step 1"/> <outline text="When my step 2 with multiline input"> <outline text="Here " /> <outline text="is " /> <outline text="my " /> <outline text="Input!" /> </outline> <outline text="And my step 3 with an explanation"/> <outline text="Then my step 3 with output"/> </outline> </outline> </outline> <outline text="My Generated Sample - Features - My Imported Capability 1 [Ready]"> <outline text="My Imported Feature [Ready]"> <outline text="My Imported Scenario [Ready]"> <outline text="Given you have the xbdd tools installed"/> <outline text="And you have an xBDDFeatureImport.txt file defined in the root of the project"/> <outline text="When you execute 'dotnet xbdd project generate MSTest'"/> <outline text="Then a new feature will be defined in the project with two partial class files"/> <outline text="And you can finish the import by moving the scenarios from the feature.xbdd.cs file to the feature.cs file"/> <outline text="And you can delete the .xbdd.cs file and clear out the xBDDFeatureImport.txt file of the feature"/> </outline> </outline> </outline> </body> </opml>
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
You can specify the value of testrun name setting in the xBDDConfig.json
file
through a --testrun-name
option for the xbdd xbddToolsCommandArgs.
The default value is the name of the project folder.
See Test Runs for more information about Test Runs and Test Run names.
Executes the command in powershell.
dotnet xbdd project generate MSTest --testrun-name My Sample Test Run
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
{ "TestRunReport": { "ReportName": "My Sample Test Run", "ReportFolder": "/../../../test-results/", "FileName": "MyGeneratedSample.Features.Results", "FailuresOnly": "false", "RootNameSkip": "My Generated Sample - Features - " }, "SortedReasonConfigurations": [ {"Reason": "Removing","BackgroundColor": "rgb(124,124,124)","FontColor": "White"}, {"Reason": "Passed","BackgroundColor": "rgb(112,173,71)","FontColor": "White"}, {"Reason": "Untested","BackgroundColor": "rgb(195,155,225)","FontColor": "rgb(15, 1, 26)"}, {"Reason": "Committed","BackgroundColor": "rgb(46,117,182)","FontColor": "White"}, {"Reason": "Ready","BackgroundColor": "rgb(101, 167, 227)","FontColor": "rgb(2, 20, 36)"}, {"Reason": "Defining","BackgroundColor": "rgb(146, 194, 238)","FontColor": "rgb(7, 36, 63)"}, {"Reason": "Failed","BackgroundColor": "rgb(192,0,0)","FontColor": "White"} ], "Browser": { "Watch": "false" } }
{ "TestRunReport": { "ReportName": "My Sample Test Run", "ReportFolder": "/../../../test-results/", "FileName": "MyGeneratedSample.Features.Results", "FailuresOnly": "false", "RootNameSkip": "My Generated Sample - Features - " }, "SortedReasonConfigurations": [ {"Reason": "Removing","BackgroundColor": "rgb(124,124,124)","FontColor": "White"}, {"Reason": "Passed","BackgroundColor": "rgb(112,173,71)","FontColor": "White"}, {"Reason": "Untested","BackgroundColor": "rgb(195,155,225)","FontColor": "rgb(15, 1, 26)"}, {"Reason": "Committed","BackgroundColor": "rgb(46,117,182)","FontColor": "White"}, {"Reason": "Ready","BackgroundColor": "rgb(101, 167, 227)","FontColor": "rgb(2, 20, 36)"}, {"Reason": "Defining","BackgroundColor": "rgb(146, 194, 238)","FontColor": "rgb(7, 36, 63)"}, {"Reason": "Failed","BackgroundColor": "rgb(192,0,0)","FontColor": "White"} ], "Browser": { "Watch": "false" } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
You can specify the value of 'remove from capability name' setting in the xBDDConfig.json
file through a --remove-from-capability-name
option for the xbdd xbddToolsCommandArgs. The default value is the name of the project folder with '.' replaced by ' - '.
Executes the command in powershell.
dotnet xbdd project generate MSTest --remove-from-capability-name Modified
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
{ "TestRunReport": { "ReportName": "My Generated Sample - Features", "ReportFolder": "/../../../test-results/", "FileName": "MyGeneratedSample.Features.Results", "FailuresOnly": "false", "RootNameSkip": "Modified" }, "SortedReasonConfigurations": [ {"Reason": "Removing","BackgroundColor": "rgb(124,124,124)","FontColor": "White"}, {"Reason": "Passed","BackgroundColor": "rgb(112,173,71)","FontColor": "White"}, {"Reason": "Untested","BackgroundColor": "rgb(195,155,225)","FontColor": "rgb(15, 1, 26)"}, {"Reason": "Committed","BackgroundColor": "rgb(46,117,182)","FontColor": "White"}, {"Reason": "Ready","BackgroundColor": "rgb(101, 167, 227)","FontColor": "rgb(2, 20, 36)"}, {"Reason": "Defining","BackgroundColor": "rgb(146, 194, 238)","FontColor": "rgb(7, 36, 63)"}, {"Reason": "Failed","BackgroundColor": "rgb(192,0,0)","FontColor": "White"} ], "Browser": { "Watch": "false" } }
{ "TestRunReport": { "ReportName": "My Generated Sample - Features", "ReportFolder": "/../../../test-results/", "FileName": "MyGeneratedSample.Features.Results", "FailuresOnly": "false", "RootNameSkip": "Modified" }, "SortedReasonConfigurations": [ {"Reason": "Removing","BackgroundColor": "rgb(124,124,124)","FontColor": "White"}, {"Reason": "Passed","BackgroundColor": "rgb(112,173,71)","FontColor": "White"}, {"Reason": "Untested","BackgroundColor": "rgb(195,155,225)","FontColor": "rgb(15, 1, 26)"}, {"Reason": "Committed","BackgroundColor": "rgb(46,117,182)","FontColor": "White"}, {"Reason": "Ready","BackgroundColor": "rgb(101, 167, 227)","FontColor": "rgb(2, 20, 36)"}, {"Reason": "Defining","BackgroundColor": "rgb(146, 194, 238)","FontColor": "rgb(7, 36, 63)"}, {"Reason": "Failed","BackgroundColor": "rgb(192,0,0)","FontColor": "White"} ], "Browser": { "Watch": "false" } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
|
Features | 2 | 0 | 0 | 0 | 0 | 0 | 2 | 0 |
Scenarios | 72 | 0 | 0 | 0 | 0 | 0 | 72 | 0 |
Features |
|
|
Scenarios |
|
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
|
Scenarios | 31 | 0 | 0 | 0 | 0 | 0 | 31 | 0 |
Scenarios |
|
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My $%^& Sub Capability 1 Explanation Here is my explanation My Feature 1 #R-Committed @Stewart #T-LoveIT Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 #R-Committed @Jane #T-HateIT Explanation Here is my scenario explanation Given step 1 Explanation Here is my step explanation Input Here is my step input When step 2 Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An capability is defined with invalid characters in the name. Line 1: 'My Capability 1 - My $%^& Sub Capability 1' Explanation: An capability name must start with a letter and can only contain letters, numbers, spaces, underscores, and ' - '. The ' - ' string is converted to '.' to define the features namespace in the test project.
{{.*}}/rl Error: An capability is defined with invalid characters in the name. Line 1: 'My Capability 1 - My $%^& Sub Capability 1' Explanation: An capability name must start with a letter and can only contain letters, numbers, spaces, underscores, and ' - '. The ' - ' string is converted to '.' to define the features namespace in the test project.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An capability is defined with invalid characters in the name. Line 1: 'My Capability 1 - My $%^& Sub Capability 1' Explanation: An capability name must start with a letter and can only contain letters, numbers, spaces, underscores, and ' - '. The ' - ' string is converted to '.' to define the features namespace in the test project.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My $%^& Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Explanation Here is my scenario explanation Given step 1 Explanation Here is my step explanation Input Here is my step input When step 2 Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: A feature is defined with invalid characters in the name. Line 6: 'My $%^& Feature 1' Explanation: A feature name must start with a letter and can only contain letters, numbers, spaces, and underscores.
{{.*}}/rl Error: A feature is defined with invalid characters in the name. Line 6: 'My $%^& Feature 1' Explanation: A feature name must start with a letter and can only contain letters, numbers, spaces, and underscores.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: A feature is defined with invalid characters in the name. Line 6: 'My $%^& Feature 1' Explanation: A feature name must start with a letter and can only contain letters, numbers, spaces, and underscores.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 #R-Committed @Stewart #T-LoveIT Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My $%^& Scenario 1 Explanation Here is my scenario explanation Given step 1 Explanation Here is my step explanation Input Here is my step input When step 2 Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: A scenario is defined with invalid characters in the name. Line 15: 'My $%^& Scenario 1' Explanation: A scenario name must start with a letter and can only contain letters, numbers, spaces, and underscores.
{{.*}}/rl Error: A scenario is defined with invalid characters in the name. Line 15: 'My $%^& Scenario 1' Explanation: A scenario name must start with a letter and can only contain letters, numbers, spaces, and underscores.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: A scenario is defined with invalid characters in the name. Line 15: 'My $%^& Scenario 1' Explanation: A scenario name must start with a letter and can only contain letters, numbers, spaces, and underscores.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 #R-Committed @Stewart #T-LoveIT Explanation Here is my scenario explanation Given step 1 Explanation Here is my step explanation Input Here is my step input When step 2 Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: Line 6: A feature is defined with no name.
{{.*}}/rl Error: Line 6: A feature is defined with no name.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: Line 6: A feature is defined with no name.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation Explanation Here is my scenario explanation Given step 1 Explanation Here is my step explanation Input Here is my step input When step 2 Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: Line 15: A scenario is defined with no name.
{{.*}}/rl Error: Line 15: A scenario is defined with no name.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: Line 15: A scenario is defined with no name.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Explanation Here is my scenario explanation Given step 1 Explanation Here is my step explanation Input Here is my step input When step 2 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: Line 27: A step is defined with no name.
{{.*}}/rl Error: Line 27: A step is defined with no name.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: Line 27: A step is defined with no name.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Explanation Here is my scenario explanation Given step 1 Explanation Here is my step explanation Input
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a step input header. Line 23: '' Explanation: A step input header line can only be followed by an indented input line.
{{.*}}/rl Error: An invalid line of type 'No Line' is following a step input header. Line 23: '' Explanation: A step input header line can only be followed by an indented input line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a step input header. Line 23: '' Explanation: A step input header line can only be followed by an indented input line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Explanation Here is my scenario explanation Given step 1 Explanation
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a step explanation header. Line 20: '' Explanation: A step explanation header line can only be followed by an indented explanation line.
{{.*}}/rl Error: An invalid line of type 'No Line' is following a step explanation header. Line 20: '' Explanation: A step explanation header line can only be followed by an indented explanation line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a step explanation header. Line 20: '' Explanation: A step explanation header line can only be followed by an indented explanation line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Explanation
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following an scenario explanation header line. Line 16: '' Explanation: A scenario explanation header line can only be followed by an indented explanation line.
{{.*}}/rl Error: An invalid line of type 'No Line' is following an scenario explanation header line. Line 16: '' Explanation: A scenario explanation header line can only be followed by an indented explanation line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following an scenario explanation header line. Line 16: '' Explanation: A scenario explanation header line can only be followed by an indented explanation line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a feature explanation line. Line 13: '' Explanation: A Feature explanation line can only be followed by another explanation line, a feature statement header line or an outdented (2x) scenario line.
{{.*}}/rl Error: An invalid line of type 'No Line' is following a feature explanation line. Line 13: '' Explanation: A Feature explanation line can only be followed by another explanation line, a feature statement header line or an outdented (2x) scenario line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a feature explanation line. Line 13: '' Explanation: A Feature explanation line can only be followed by another explanation line, a feature statement header line or an outdented (2x) scenario line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a feature explanation header line. Line 11: '' Explanation: A feature explanation header line can only be followed by an indented explanation line.
{{.*}}/rl Error: An invalid line of type 'No Line' is following a feature explanation header line. Line 11: '' Explanation: A feature explanation header line can only be followed by an indented explanation line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a feature explanation header line. Line 11: '' Explanation: A feature explanation header line can only be followed by an indented explanation line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a feature Statement line. Line 10: '' Explanation: A feature statement line can only be followed by another statement line, a feature explanation header line or an outdented (2x) scenario line.
{{.*}}/rl Error: An invalid line of type 'No Line' is following a feature Statement line. Line 10: '' Explanation: A feature statement line can only be followed by another statement line, a feature explanation header line or an outdented (2x) scenario line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a feature Statement line. Line 10: '' Explanation: A feature statement line can only be followed by another statement line, a feature explanation header line or an outdented (2x) scenario line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a feature statement header line. Line 7: '' Explanation: A feature statement header line can only be followed by an indented statement line.
{{.*}}/rl Error: An invalid line of type 'No Line' is following a feature statement header line. Line 7: '' Explanation: A feature statement header line can only be followed by an indented statement line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following a feature statement header line. Line 7: '' Explanation: A feature statement header line can only be followed by an indented statement line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' following a feature line. Line 6: '' Explanation: A feature line can only be followed by an indented scenario name, indented 'Explanation' header or indented 'Statement' header.
{{.*}}/rl Error: An invalid line of type 'No Line' following a feature line. Line 6: '' Explanation: A feature line can only be followed by an indented scenario name, indented 'Explanation' header or indented 'Statement' header.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' following a feature line. Line 6: '' Explanation: A feature line can only be followed by an indented scenario name, indented 'Explanation' header or indented 'Statement' header.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following an capability explanation line. Line 4: '' Explanation: An capability explanation line can only be followed by another explanation line or an outdented (2x) feature line.
{{.*}}/rl Error: An invalid line of type 'No Line' is following an capability explanation line. Line 4: '' Explanation: An capability explanation line can only be followed by another explanation line or an outdented (2x) feature line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following an capability explanation line. Line 4: '' Explanation: An capability explanation line can only be followed by another explanation line or an outdented (2x) feature line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following an capability explanation header line. Line 2: '' Explanation: An capability explanation header line can only be followed by an indented explanation line.
{{.*}}/rl Error: An invalid line of type 'No Line' is following an capability explanation header line. Line 2: '' Explanation: An capability explanation header line can only be followed by an indented explanation line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following an capability explanation header line. Line 2: '' Explanation: An capability explanation header line can only be followed by an indented explanation line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following an capability line. Line 1: '' Explanation: An capability line can only be followed by an indented 'Explanation' header or indented Feature line.
{{.*}}/rl Error: An invalid line of type 'No Line' is following an capability line. Line 1: '' Explanation: An capability line can only be followed by an indented 'Explanation' header or indented Feature line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'No Line' is following an capability line. Line 1: '' Explanation: An capability line can only be followed by an indented 'Explanation' header or indented Feature line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: The file is empty.
{{.*}}/rl Error: The file is empty.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: The file is empty.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Explanation Here is my scenario explanation Given step 1 Explanation Here is my step explanation Input When step 2 Is Invalid Line Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Step' is following a step input header. Line 24: ' When step 2 Is Invalid Line' Explanation: A step input header line can only be followed by an indented input line.
{{.*}}/rl Error: An invalid line of type 'Step' is following a step input header. Line 24: ' When step 2 Is Invalid Line' Explanation: A step input header line can only be followed by an indented input line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Step' is following a step input header. Line 24: ' When step 2 Is Invalid Line' Explanation: A step input header line can only be followed by an indented input line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Explanation Here is my scenario explanation Given step 1 Explanation Input Here is the Step input When step 2 Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'StepInputHeader' is following a step explanation header. Line 21: ' Input' Explanation: A step explanation header line can only be followed by an indented explanation line.
{{.*}}/rl Error: An invalid line of type 'StepInputHeader' is following a step explanation header. Line 21: ' Input' Explanation: A step explanation header line can only be followed by an indented explanation line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'StepInputHeader' is following a step explanation header. Line 21: ' Input' Explanation: A step explanation header line can only be followed by an indented explanation line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Explanation Here is my scenario explanation Given step 1 Invalid Line When step 2 Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Unknown' is following a step line. Line 20: ' Invalid Line' Explanation: A step line can only be followed by another step line or an indented 'Explanation' or 'Input' header line, or outdented scenario, feature, or capability.
{{.*}}/rl Error: An invalid line of type 'Unknown' is following a step line. Line 20: ' Invalid Line' Explanation: A step line can only be followed by another step line or an indented 'Explanation' or 'Input' header line, or outdented scenario, feature, or capability.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Unknown' is following a step line. Line 20: ' Invalid Line' Explanation: A step line can only be followed by another step line or an indented 'Explanation' or 'Input' header line, or outdented scenario, feature, or capability.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Explanation Here is my scenario explanation Given step 1 Invalid Line Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: Invalid step starter. Line 20: 'Invalid Line' Explanation: A step can start with either 'Given', 'When', 'Then', 'And', or '.' Steps that start with '.' will have it's text interpreted as literal code when generating feature classes.
{{.*}}/rl Error: Invalid step starter. Line 20: 'Invalid Line' Explanation: A step can start with either 'Given', 'When', 'Then', 'And', or '.' Steps that start with '.' will have it's text interpreted as literal code when generating feature classes.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: Invalid step starter. Line 20: 'Invalid Line' Explanation: A step can start with either 'Given', 'When', 'Then', 'And', or '.' Steps that start with '.' will have it's text interpreted as literal code when generating feature classes.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Explanation Given step 1 Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Step' is following an scenario explanation header line. Line 17: ' Given step 1' Explanation: A scenario explanation header line can only be followed by an indented explanation line.
{{.*}}/rl Error: An invalid line of type 'Step' is following an scenario explanation header line. Line 17: ' Given step 1' Explanation: A scenario explanation header line can only be followed by an indented explanation line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Step' is following an scenario explanation header line. Line 17: ' Given step 1' Explanation: A scenario explanation header line can only be followed by an indented explanation line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Invalid Line Given step 1 Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: Invalid step starter. Line 16: 'Invalid Line' Explanation: A step can start with either 'Given', 'When', 'Then', 'And', or '.' Steps that start with '.' will have it's text interpreted as literal code when generating feature classes.
{{.*}}/rl Error: Invalid step starter. Line 16: 'Invalid Line' Explanation: A step can start with either 'Given', 'When', 'Then', 'And', or '.' Steps that start with '.' will have it's text interpreted as literal code when generating feature classes.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: Invalid step starter. Line 16: 'Invalid Line' Explanation: A step can start with either 'Given', 'When', 'Then', 'And', or '.' Steps that start with '.' will have it's text interpreted as literal code when generating feature classes.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation Here is my feature explanation My Scenario 1 Given step 1 Then step 3 And step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Unknown' is following a scenario line. Line 16: ' Given step 1' Explanation: A scenario line can only be followed by another scenario line, an indented 'Explanation' header or indented step line, or an outdented feature or capability line.
{{.*}}/rl Error: An invalid line of type 'Unknown' is following a scenario line. Line 16: ' Given step 1' Explanation: A scenario line can only be followed by another scenario line, an indented 'Explanation' header or indented step line, or an outdented feature or capability line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Unknown' is following a scenario line. Line 16: ' Given step 1' Explanation: A scenario line can only be followed by another scenario line, an indented 'Explanation' header or indented step line, or an outdented feature or capability line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement As a user So that you get some value You can do something Explanation My Scenario 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Scenario' is following a feature explanation header line. Line 11: ' My Scenario 1' Explanation: A feature explanation header line can only be followed by an indented explanation line.
{{.*}}/rl Error: An invalid line of type 'Scenario' is following a feature explanation header line. Line 11: ' My Scenario 1' Explanation: A feature explanation header line can only be followed by an indented explanation line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Scenario' is following a feature explanation header line. Line 11: ' My Scenario 1' Explanation: A feature explanation header line can only be followed by an indented explanation line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 Statement My Scenario 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Scenario' is following a feature statement header line. Line 7: ' My Scenario 1' Explanation: A feature statement header line can only be followed by an indented statement line.
{{.*}}/rl Error: An invalid line of type 'Scenario' is following a feature statement header line. Line 7: ' My Scenario 1' Explanation: A feature statement header line can only be followed by an indented statement line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Scenario' is following a feature statement header line. Line 7: ' My Scenario 1' Explanation: A feature statement header line can only be followed by an indented statement line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation Here is my explanation My Feature 1 My Feature 2 My Scenario 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Feature' following a feature line. Line 6: ' My Feature 2' Explanation: A feature line can only be followed by an indented scenario name, indented 'Explanation' header or indented 'Statement' header.
{{.*}}/rl Error: An invalid line of type 'Feature' following a feature line. Line 6: ' My Feature 2' Explanation: A feature line can only be followed by an indented scenario name, indented 'Explanation' header or indented 'Statement' header.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Feature' following a feature line. Line 6: ' My Feature 2' Explanation: A feature line can only be followed by an indented scenario name, indented 'Explanation' header or indented 'Statement' header.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Explanation My Feature 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Feature' is following an capability explanation header line. Line 3: ' My Feature 1' Explanation: An capability explanation header line can only be followed by an indented explanation line.
{{.*}}/rl Error: An invalid line of type 'Feature' is following an capability explanation header line. Line 3: ' My Feature 1' Explanation: An capability explanation header line can only be followed by an indented explanation line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Feature' is following an capability explanation header line. Line 3: ' My Feature 1' Explanation: An capability explanation header line can only be followed by an indented explanation line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Capability 1 - My Sub Capability 2
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Capability' is following an capability line. Line 2: 'My Capability 1 - My Sub Capability 2' Explanation: An capability line can only be followed by an indented 'Explanation' header or indented Feature line.
{{.*}}/rl Error: An invalid line of type 'Capability' is following an capability line. Line 2: 'My Capability 1 - My Sub Capability 2' Explanation: An capability line can only be followed by an indented 'Explanation' header or indented Feature line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Capability' is following an capability line. Line 2: 'My Capability 1 - My Sub Capability 2' Explanation: An capability line can only be followed by an indented 'Explanation' header or indented Feature line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 Invalid Line
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Scenario' is following an capability line. Line 2: ' Invalid Line' Explanation: An capability line can only be followed by an indented 'Explanation' header or indented Feature line.
{{.*}}/rl Error: An invalid line of type 'Scenario' is following an capability line. Line 2: ' Invalid Line' Explanation: An capability line can only be followed by an indented 'Explanation' header or indented Feature line.
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Error: An invalid line of type 'Scenario' is following an capability line. Line 2: ' Invalid Line' Explanation: An capability line can only be followed by an indented 'Explanation' header or indented Feature line.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
|
Scenarios | 41 | 0 | 0 | 0 | 0 | 0 | 41 | 0 |
Scenarios |
|
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given "My" Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("\"My\" Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("\"My\" Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 When Step 2
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .When("Step 2", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .When("Step 2", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 When Step 2 Then Step 3
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .When("Step 2", (s) => { // Enter your code here. }) .Then("Step 3", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .When("Step 2", (s) => { // Enter your code here. }) .Then("Step 3", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 When Step 2 Then Step 3 And Step 4
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .When("Step 2", (s) => { // Enter your code here. }) .Then("Step 3", (s) => { // Enter your code here. }) .And("Step 4", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .When("Step 2", (s) => { // Enter your code here. }) .Then("Step 3", (s) => { // Enter your code here. }) .And("Step 4", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 When Step 2 Then Step 3 And Step 4 .And(this.IsSomeCode())
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .When("Step 2", (s) => { // Enter your code here. }) .Then("Step 3", (s) => { // Enter your code here. }) .And("Step 4", (s) => { // Enter your code here. }) // .And(this.IsSomeCode()) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .When("Step 2", (s) => { // Enter your code here. }) .Then("Step 3", (s) => { // Enter your code here. }) .And("Step 4", (s) => { // Enter your code here. }) // .And(this.IsSomeCode()) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 Input Here Is My Multiline Input
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, @" Here Is My Multiline Input".RemoveIndentation(6,true), TextFormat.text) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, @" Here Is My Multiline Input".RemoveIndentation(6,true), TextFormat.text) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 Input Here Is "My" Multiline Input
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, @" Here Is ""My"" Multiline Input".RemoveIndentation(6,true), TextFormat.text) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, @" Here Is ""My"" Multiline Input".RemoveIndentation(6,true), TextFormat.text) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 Input Here Is My Single Line Input
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, "Here Is My Single Line Input", TextFormat.text) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, "Here Is My Single Line Input", TextFormat.text) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 Input Here Is "My" Single Line Input
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, "Here Is \"My\" Single Line Input", TextFormat.text) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, "Here Is \"My\" Single Line Input", TextFormat.text) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 Explanation Here Is My Multiline Explanation
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, null, null, @" Here Is My Multiline Explanation".RemoveIndentation(6,true)) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, null, null, @" Here Is My Multiline Explanation".RemoveIndentation(6,true)) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 Explanation Here Is "My" Multiline Explanation
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, null, null, @" Here Is ""My"" Multiline Explanation".RemoveIndentation(6,true)) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, null, null, @" Here Is ""My"" Multiline Explanation".RemoveIndentation(6,true)) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 Explanation Here Is My Singleline Explanation
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, null, null, "Here Is My Singleline Explanation") .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, null, null, "Here Is My Singleline Explanation") .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1 Explanation Here Is "My" Singleline Explanation
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, null, null, "Here Is \"My\" Singleline Explanation") .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }, null, null, "Here Is \"My\" Singleline Explanation") .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1 ", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1 ", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Explanation Here is my multiline scenario explanation Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] [Explanation(@" Here is my multiline scenario explanation",3)] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] [Explanation(@" Here is my multiline scenario explanation",3)] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Explanation Here is "my" multiline scenario explanation Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] [Explanation(@" Here is ""my"" multiline scenario explanation",3)] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] [Explanation(@" Here is ""my"" multiline scenario explanation",3)] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 #R-MyReason Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("MyReason", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("MyReason", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 #R-MyReason1 #R-MyReason2 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("MyReason1", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("MyReason1", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 @MyOwner1 @MyOwner2 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] [Assignments("MyOwner1","MyOwner2")] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] [Assignments("MyOwner1","MyOwner2")] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 #T-MyTag1 #T-MyTag2 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] [Tags("MyTag1","MyTag2")] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] [Tags("MyTag1","MyTag2")] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 Explanation Here is my multiline feature explanation My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [Explanation(@" Here is my multiline feature explanation",2)] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [Explanation(@" Here is my multiline feature explanation",2)] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 Explanation Here is "my" multiline feature explanation My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [Explanation(@" Here is ""my"" multiline feature explanation",2)] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [Explanation(@" Here is ""my"" multiline feature explanation",2)] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 Explanation Here is my multiline feature explanation Statement As a user So that you derive some value You can perform some action with the product My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [AsA("user")] [YouCan("perform some action with the product")] [SoThat("you derive some value")] [Explanation(@" Here is my multiline feature explanation",2)] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [AsA("user")] [YouCan("perform some action with the product")] [SoThat("you derive some value")] [Explanation(@" Here is my multiline feature explanation",2)] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 #R-IgnoredReasonTag My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 #T-MyFeatureTag #T-MyFeatureTag2 My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [Tags("MyFeatureTag","MyFeatureTag2")] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [Tags("MyFeatureTag","MyFeatureTag2")] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 @MyFeatureOwner1 @MyFeatureOwner2 My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [Assignments("MyFeatureOwner1","MyFeatureOwner2")] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] [Assignments("MyFeatureOwner1","MyFeatureOwner2")] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 #R-Ignored #T-Ignored @Ignored My Feature 1 My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
- My Capability 1 - My Sub Capability 1 - My Feature 1 - My Scenario 1 - Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 2 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 My Capability 2 - My Sub Capability 1 My Feature 1 My Scenario 1 My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 2 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 0 My Scenario 1 My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 2 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 My Feature 1 My Scenario 2 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 My Feature 2 My Scenario 1 My Feature 1 My Scenario 2 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 1000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 2000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 2000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
My Capability 1 - My Sub Capability 1 My Feature 1 My Scenario 1 My Scenario 2 My Scenario 1 Given Step 1
Executes the command in powershell.
dotnet xbdd project generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample.Features Folder: MyGeneratedSample.Features Project initialized.
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 2000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 3000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
namespace MyGeneratedSample.Features.MyCapability1.MySubCapability1 { using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Threading.Tasks; using xBDD; using xBDD.Utility; [TestClass] public partial class MyFeature1: xBDDFeatureBase { [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 1000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario2() { await xB.AddScenario(this, 2000) .Skip("Defining", Assert.Inconclusive); } [TestMethod] public async Task MyScenario1() { await xB.AddScenario(this, 3000) .Given("Step 1", (s) => { // Enter your code here. }) .Skip("Defining", Assert.Inconclusive); } } }
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
|
Features | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
Scenarios | 3 | 0 | 1 | 0 | 0 | 0 | 2 | 0 |
Features |
|
||
Scenarios |
|
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
|
Scenarios | 3 | 0 | 1 | 0 | 0 | 0 | 2 | 0 |
Scenarios |
|
You can install a command line utility that will help you generate a multiple dotnet core test projects with a file structure that will help you follow best practices for building your tests. All you need is an empty directory that you want to create a new project within. The xBDD framework will create the following files in the directory:
[FolderName].csproj - If a project file does not already exist, xBDD will create a csproj
file with the same name as the folder you are initializing the project within. The project file
will contain all the necessary references to develop xBDD features.
This file will not be overwritten if it already exists.
[FolderName].csproj.xBDD - xBDD will also create an identical project file that ends in
.xbdd that it will continue to update each time you execute the dotnet xbdd project generate MSTest
xbddToolsCommandArgs. You can use this file to update your project file in the future if xBDD
makes any changes to the default project file.
TestInitializeAndComplete.xbdd.cs - This class handles the test initialize and cleanup
operations for xBDD. If you already implement these methods in your project, comment out the
[AssemblyInitialize]
and [AssemblyCleanup]
attributes and call the TestRunStart()
and TestRunComplete
methods from your code where you have implemented the respective
attributes. The TestRunStart
method initializes the web browser to either display or not
display. The TestRunComplete
method ensures that the webdriver is disposed and generates
standard reports for a test run.
xBDDConfig.json - Use this config file to override default values for xBDD settings.
xBDDFeatureBase.xbdd.cs - This is the base class you should use for creating features. It is not required but if you inherit from this class you will not need to implement the iFeature interface or manually inject an iOutputWriter into each scenario. The output writer is used by xBDD to write output to the testing framework during execution. This helps with printing out scenario and exception details when a step fails. When scenarios run in a test class that implements the iFeature interface, the output writer is automatically injected into the scenario when it is run. Without implementing the iFeature interface, you need to explicity set the output writer for each scenario. The xBDDFeatureBase class implements both the iFeature and iOutputWriter interface so that all you need to do is inherit from this class and all scenarios will automatically log details to the underlying testing framework (MSTest).
xBDDFeatureSort.cs - This class is used to create a sorted list of features names
that can be passed to a test run object to sort the scenarios prior to running a report.
This class is only written once by the framework. If it already exists it will not be overwritten.
xBDDFeatureSort.xbdd.cs - This class is a duplicate of the xBDDFeatureSort.cs
class and is recreated each time you generate code. It is created so that you can
copy missing features into the xBDDFeatureSort.cs
class.
xBDDReasonSort.cs - This class is used to cascade the reasons up from scenarios, to features, to capabilities, to the test run. The sort order controls the order of precedence from least to most. For example if two features have reasons A and B and the ReasonSort places A before B then the parent capability for both features will have a reason of B.
xBDDReasonSort.xbdd.cs - This class is a duplicate of the xBDDReasonSort.cs
class and is recreated each time you generate code. It is created so that you can
copy missing reasons into the xBDDFeatureSort.cs
class.
xBDDFeatureImport.txt - A text document that you can use to outline the capabilities, features, scenarios, and steps to import into the project. This document can use either tabs or spaces for indentation as long as it is consistent. You can also paste the text format for Workflowy outlines into this file and the dashes will be automatically removed.
Features/MySampleCapability/MySampleFeature.cs - A sample feature for the project to execute.
The standard xBDD project is setup to generate a standard set of reports when you run the tests in the test project. These include:
Html Test Run Report - Provides an outline view of the test results with outcome statics at each level.
JSON Test Run Report - A Json serialization of the Test Run object. The test run object is the foundation for all reports. The Json test run report can be used to hydrate a test run to build any other report.
Text Test Run Report - Provides a text indentation outline of the test run including step inputs, outputs and exceptions.
OPML Outline Report - An Outline Processor Markup Language representation of the test run results. This can be used to copy features back into Workflowy.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
Project: MyGeneratedSample.Features.Capability1 My Capability A - My Sub Capability B My Feature C My Scenario D Project: MyGeneratedSample.Features.Capability2 My Capability E - My Sub Capability F My Feature G My Scenario H
Executes the command in powershell.
dotnet xbdd solution generate MSTest
Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample/MyGeneratedSample.Features.Capability1 Folder: MyGeneratedSample.Features.Capability1 Project initialized. Directory: /Users/stewartarmbrecht/Source/xBDD/xBDD.Features.GeneratingCode/bin/Debug/netcoreapp2.1/MyGeneratedSample/MyGeneratedSample.Features.Capability2 Folder: MyGeneratedSample.Features.Capability2 Project initialized.
My Capability A - My Sub Capability B My Feature C My Scenario D
My Capability A - My Sub Capability B My Feature C My Scenario D
My Capability E - My Sub Capability F My Feature G My Scenario H
My Capability E - My Sub Capability F My Feature G My Scenario H
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |
Executes the command in powershell.
dotnet xbdd solution generate MSTest
Error: The first line must define a project. Ex. 'Project: My Project'.
Error: The first line must define a project. Ex. 'Project: My Project'.
Error: The first line must define a project. Ex. 'Project: My Project'.
Total | Failed |
Defining |
Ready |
Committed |
Untested |
Passed |
Removing |