RG.Xbehave.Specs 1.0.3

An extension to Xbehave that allows you to write gherkin-style unit tests.

Install-Package RG.Xbehave.Specs -Version 1.0.3
dotnet add package RG.Xbehave.Specs --version 1.0.3
<PackageReference Include="RG.Xbehave.Specs" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RG.Xbehave.Specs --version 1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: RG.Xbehave.Specs, 1.0.3"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install RG.Xbehave.Specs as a Cake Addin
#addin nuget:?package=RG.Xbehave.Specs&version=1.0.3

// Install RG.Xbehave.Specs as a Cake Tool
#tool nuget:?package=RG.Xbehave.Specs&version=1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Installation and Setup

1. Install Package

Package Manager Console:

Install-Package RG.Xbehave.Specs

2. Turn On Generation of XML Documentation File

In your .csproj file add:

<PropertyGroup>
  <DocumentationFile>.\Documentation.xml</DocumentationFile>
</PropertyGroup>

3. Write Your Scenario

In XML comments:

using Xbehave;
using Xbehave.Specs;
using Xunit;

/// <summary>
/// Given the number 5
/// And the number 3
/// When I add the numbers together
/// Then the answer is 8
/// </summary>
[Scenario]
public void Addition() {
    Spec.IsInXmlComments(this);
}

Or in markdown documents:

Addition

Given the number 5
And the number 3
When I add the numbers together
Then the answer is 8

[Scenario]
public void Addition() {
    Spec.IsInMarkdownDocument(this, "Calculator.md", "Addition");
}

4. Implement Step Definitions

[Given("the number {x}")]
protected void GivenTheNumber(int x) {
    _calculator.EnterNumber(x);
}

[When("I add the numbers together")]
protected void WhenIAddTheNumbersTogether() {
    _calculator.PressAdd();
}

[Then("the answer is {ans}")]
protected void ThenTheAnswerIs(int ans) {
    _calculator.Ans.Should().Be(ans);
}

See full example

5. Run Tests

Screenshot

Installation and Setup

1. Install Package

Package Manager Console:

Install-Package RG.Xbehave.Specs

2. Turn On Generation of XML Documentation File

In your .csproj file add:

<PropertyGroup>
  <DocumentationFile>.\Documentation.xml</DocumentationFile>
</PropertyGroup>

3. Write Your Scenario

In XML comments:

using Xbehave;
using Xbehave.Specs;
using Xunit;

/// <summary>
/// Given the number 5
/// And the number 3
/// When I add the numbers together
/// Then the answer is 8
/// </summary>
[Scenario]
public void Addition() {
    Spec.IsInXmlComments(this);
}

Or in markdown documents:

Addition

Given the number 5
And the number 3
When I add the numbers together
Then the answer is 8

[Scenario]
public void Addition() {
    Spec.IsInMarkdownDocument(this, "Calculator.md", "Addition");
}

4. Implement Step Definitions

[Given("the number {x}")]
protected void GivenTheNumber(int x) {
    _calculator.EnterNumber(x);
}

[When("I add the numbers together")]
protected void WhenIAddTheNumbersTogether() {
    _calculator.PressAdd();
}

[Then("the answer is {ans}")]
protected void ThenTheAnswerIs(int ans) {
    _calculator.Ans.Should().Be(ans);
}

See full example

5. Run Tests

Screenshot

Release Notes

Added support for markdown documents

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.3 267 8/28/2019
1.0.2 208 8/28/2019
1.0.1 202 8/27/2019
1.0.0 196 8/27/2019