A Simple & Lightweight BDD Strategy for .NET

Generate BDD style documentation without step definitions or complex workflows. Pepper puts quality center stage and empowers teams that rely on their test engineers.

dotnet add package PepperBDD

How Pepper Works

Step 1

Add attributes to Page Object Methods

[StepDescription("Navigate to the login page")]
public void NavigateTo()
{
    driver.Navigate().GoToUrl("https://app.example.com/login");
}

[StepDescription("Enter username '{username}'")]
public void EnterUsername(string username)
{
    usernameField.SendKeys(username);
}
Step 2

Add a description to your test

[Test]
[CaseDescription("Verify user can log in with valid credentials")]
public void Login_ValidateSuccess()
{
    loginPage.NavigateTo();
    loginPage.EnterUsername("test@example.com");
    loginPage.EnterPassword("password123");
    loginPage.ClickLogin();

    Assert.That(dashboard.IsDisplayed(), Is.True);
}
Step 3

Run Pepper to generate documentation

pepper -generateReport -project "./MyTests" -output "TestDocs.pdf"

Output Formats: PDF & HTML

Generated PDF documentation example

Use .pdf or .html extension to choose your output format.

Why Choose Pepper?

1

A Simpler Approach to BDD

Traditional BDD primarily benefits teams where all members of R&D participate in creating tests. However, for some organizations this approach is not practical.

Pepper keeps the business language tied to the actual method implementations while still providing the same benefits of BDD. No need for Step Definitions or Gherkin Syntax.

2

Rewards Clean & Effective Test Frameworks

Pepper rewards best practices test implementations with powerful tools that can:

  • Generate living documentation from actual test code
  • Integrate with external test case repositories
  • Quickly report bugs with reproduction steps generated from the actual test code
  • Demonstrate coverage for product areas to all members of your organization
3

Rapidly Scale with AI

Pepper's BDD approach is perfect for AI workflows.

Feed test data to LLMs to generate new test cases, identify coverage gaps, or create bug reports. Your test documentation becomes a foundation for intelligent automation.