BerryCrush

Getting Started

  • Quick Start
    • Prerequisites
    • Installation
      • Gradle (Kotlin DSL)
      • Maven
    • Creating Your First Test
      • 1. Create an OpenAPI specification
      • 2. Create a scenario file
      • 3. Create bindings
      • 4. Create a test class
      • 5. Run the test
    • Using Conditional Assertions
    • Next Steps
  • Tutorial
    • Overview
    • Project Setup
    • Writing Scenarios
      • Basic Scenario
      • Scenario Outline with Examples
      • Advanced Scenarios
      • Conditional Assertions
    • Auto-Generated Tests
      • Basic Usage
      • Test Types
      • Context Variables
      • Path Parameter Tests
    • Running Tests
    • Generating Reports
    • Spring Boot Integration
    • Conclusion

Features

  • Scenario File Syntax
    • File Types
    • Basic Scenario
    • Step Keywords
    • API Calls
      • Call Parameters
      • Request Body Syntax
      • External Body Files
    • Assertions
      • Status Code Assertions
      • Body-Level Assertions
      • JSONPath Assertions
      • Negating Assertions with not
    • Variable Extraction
      • Escaping Variable Syntax
    • Conditional Assertions
      • Basic Syntax
      • Condition Types
      • Nested Conditionals
      • The fail Action
    • Tags
      • Built-in Tags
      • Tag Filtering
    • Features and Background
      • Basic Feature
      • Feature with Background
      • Tagged Features
    • Parameterized Scenarios (Outline)
    • Fragment Files
    • Parameters Block
      • File-Level Parameters
      • Feature-Level Parameters
      • Supported Parameters
    • Auto-Generated Tests
      • Basic Syntax
      • Example
      • Context Variables
    • Comments
    • Custom Steps
      • Defining Custom Steps
      • Step Patterns
      • Using Custom Steps
      • Configuration
    • Custom Assertions
      • Defining Custom Assertions
      • Using Custom Assertions
      • Configuration
    • Best Practices
    • See Also
  • Auto-Generated Tests
    • Overview
    • Basic Syntax
    • Example
    • Invalid Tests
    • Security Tests
      • SQL Injection
      • Cross-Site Scripting (XSS)
      • Path Traversal
      • Command Injection
      • LDAP Injection
    • Parameter Locations
      • Path Parameter Example
    • Context Variables
      • Using Context Variables in Assertions
    • Test Display Names
    • Excluding Test Types
      • Available Test Types to Exclude
    • Custom Providers
      • Creating a Custom Invalid Test Provider
      • Creating a Custom Security Test Provider
      • Registering Custom Providers
      • Provider Properties
      • Dependencies
    • Best Practices
    • Integration with JUnit
    • Limitations
    • See Also
  • Kotlin DSL
    • Overview
    • Quick Start
    • Creating a Test Suite
      • Single Spec
      • Multi-Spec
    • Defining Scenarios
      • Basic Structure
      • Scenario with Tags
    • API Calls
      • Basic Call
      • With Query Parameters
      • With Headers
      • With Request Body
      • Authentication Shortcuts
      • Multi-Spec Calls
    • Variable Extraction
      • Cross-Scenario Variable Sharing
    • Assertions
      • Status Code
      • Body Assertions
      • Header Assertions
      • Schema Validation
    • Scenario Outlines
    • Fragments (Reusable Steps)
    • JUnit Integration
    • Complete Example
    • API Reference
      • BerryCrushSuite
      • ScenarioScope
      • StepScope
      • CallScope
    • JUnit 5 Integration with BerryCrushExtension
      • Basic Usage
      • Spring Boot with Dynamic Port
      • Nested Test Classes
      • Supported Parameter Types
    • See Also
  • Standalone Runner
    • Overview
    • Basic Usage
      • Running Multiple Scenarios
      • Running a Single Scenario
      • Progress Callbacks
    • Manual Lifecycle Control
    • Cross-Scenario Variable Sharing
    • Plugin Integration
    • Fragment Support
    • Loading Scenarios from Files
    • Complete Example
    • CI/CD Integration
    • API Reference
      • ScenarioRunner
      • RunResult
      • ScenarioResult
    • See Also
  • File-Level Parameters
    • Syntax
    • Supported Parameters
      • Configuration Overrides
      • Header Overrides
      • Auto-Assertion Overrides
    • Use Cases
      • Environment-Specific Settings
      • Cross-Scenario Variable Sharing
      • Testing with Debug Logging
    • Programmatic Usage
    • JUnit Engine Integration
    • Configuration Priority
    • Notes
    • See Also
  • Plugins
    • Plugin Architecture
      • Lifecycle Events
      • Context Objects
      • Result Objects
      • Priority
    • Creating a Custom Plugin
      • Basic Plugin
      • Stateful Plugin
    • Registering Plugins
      • Via Annotation
      • By Name
      • Programmatic Registration
    • Built-in Plugins
      • Report Plugins
    • Best Practices
    • Example: Retry Plugin
  • Custom Steps
    • Step Binding Mechanisms
    • Annotation-Based Steps
      • Pattern Placeholders
      • Registering Annotation-Based Steps
    • Registration API
    • Kotlin DSL
      • Type-Safe Parameters
    • Package Scanning
    • Spring Integration
    • Step Context
      • StepContext API
      • Variable Scopes
    • Best Practices
    • Example: Complete Step Library
    • Custom Assertions
      • Defining Custom Assertions
      • AssertionResult
      • AssertionContext
      • Registering Custom Assertions
      • Assertion vs Step
      • Using Custom Assertions in Scenario Files
    • Sample Code Reference
  • Reporting
    • Report Formats
      • Text Report
      • Console Report (Colored)
      • JSON Report
      • JUnit XML Report
      • XML Report
    • Configuring Reports
      • Via Annotation
      • Via Bindings
    • Report Output Locations
    • CI/CD Integration
      • GitHub Actions
      • Jenkins
      • GitLab CI
    • Custom Report Plugins
    • Best Practices
  • Multi-Spec OpenAPI Support
    • Configuring Multiple Specs
      • Default Spec
      • Additional Named Specs
    • Using Named Specs in Scenarios
      • Default Operations
      • Named Spec Operations
    • Example: Separating Auth from Main API
    • Auto-Resolution
    • Multi-Host API Testing
      • Configuring Per-Spec Base URLs
      • Cross-Service Scenarios
      • File-Level Base URL Overrides
    • Best Practices
  • Fragments
    • Creating Fragments
      • Fragment Structure
    • Using Fragments
    • Fragment Discovery
      • Default Discovery
      • Custom Fragment Locations
      • Directory Structure
    • Variables in Fragments
    • Multi-Spec in Fragments
    • Example: Complete Test Suite
    • Best Practices
  • Spring Boot Integration
    • Setup
    • Configuration
      • Test Class
      • Bindings Class
    • Multi-Spec Support
    • Custom Steps with Spring Injection
    • How It Works
      • Architecture
    • Best Practices
    • Troubleshooting
  • HTTP Logging
    • Enabling Logging
      • File-Level Parameters
      • Programmatic Configuration
    • Log Output Format
      • Default Format
      • Compact Format
    • Custom Logging
      • Custom Logger Implementation
      • Custom Formatter
      • Global Logger Factory
    • DefaultHttpLogFormatter Options
      • Masked Header Names
    • Logger Types

Guides

  • Migration Guide
    • From Cucumber
      • Feature Files
      • Step Definitions
    • From REST Assured
    • From Karate
    • Migration Checklist
      • Before Migration
      • During Migration
      • After Migration
    • Getting Help
  • Troubleshooting
    • Test Discovery Issues
      • Tests Not Found
      • Scenario Files Not Loaded
    • Configuration Issues
      • Bindings Not Found
      • OpenAPI Spec Not Found
    • HTTP Request Issues
      • Connection Refused
      • Timeout Errors
      • SSL/TLS Errors
    • Assertion Failures
      • JSONPath Not Matching
      • Schema Validation Fails
    • Spring Integration Issues
      • Bindings Not Injected
      • Context Not Available
    • Plugin Issues
      • Plugin Not Executing
      • Report Not Generated
    • Getting Help

Reference

  • API Documentation
BerryCrush
  • Search


© Copyright 2026, Takashi Kato.

Built with Sphinx using a theme provided by Read the Docs.