Logo
/
Sign in
Product Logo
Storm PetrelScand

A .NET testing tool that automatically rewrites expected baselines in unit and integration tests by converting actual results into code.

Product details

Storm Petrel Expected Baselines Rewriter is a .NET-based testing utility created to automate the maintenance of expected baselines in unit and integration tests. It addresses the common problem of test failures caused by legitimate code changes, such as new properties or corrected logic, which require frequent manual updates to expected values. The tool generates modified copies of existing tests using incremental source generation. These generated tests capture actual execution results, convert them into C# code, and overwrite the original expected baselines. Developers then review the changes to confirm correctness. The tool is designed to integrate into standard .NET testing workflows and focuses on reducing repetitive, error-prone manual updates.

Key Features

Automated Baseline Rewriting

Updates expected values based on real execution results.

  • Captures actual baselines during test runs
  • Rewrites expected baselines as C# code

Incremental Source Generation

Creates modified test copies automatically.

  • Uses .NET incremental generators
  • Generates isolated “StormPetrel” test versions

Framework Compatibility

Works with common .NET test frameworks.

  • Supports XUnit
  • Supports NUnit and MSTest

Flexible Baseline Configuration

Adapts to different test structures.

  • Configurable actual and expected variable pairs
  • Supports multiple baseline sets per test

Customizable Serialization Logic

Controls how baselines are generated.

  • Pluggable baseline dumping algorithms
  • Support for custom converters and serializers

Manual Review Support

Encourages controlled baseline updates.

  • Automated changes are reviewable
  • Designed to avoid silent test behavior changes

Benefits

Reduced Manual Test Maintenance

Minimizes repetitive developer effort.

  • Eliminates hand-editing of expected values
  • Fewer individual test reruns

Faster Test Stabilization

Speeds up recovery from legitimate test failures.

  • Rapid baseline updates after code changes
  • Shorter feedback loops during development

Improved Test Consistency

Ensures expected values match actual behavior.

  • Baselines generated from real execution
  • Lower risk of outdated expectations

Better Developer Productivity

Allows focus on logic instead of test upkeep.

  • Less time spent fixing broken tests
  • More predictable test maintenance process

Scalable for Large Test Suites

Handles complex and growing codebases.

  • Suitable for large unit and integration test sets
  • Consistent behavior across projects
Find more products by segment
Medium BusinessB2BView all
Find more products by category
Other Development SoftwareView all