Skip to content
Allure report logoAllure Report
Main Navigation ModulesDocumentationStarter Project

English

Español

English

Español

Appearance

Sidebar Navigation

Allure 3

Install & Upgrade

Install Allure

Upgrade Allure

Configure

Create Reports

How to generate a report

How to view a report

Improving readability of your test reports

Improving navigation in your test report

Reading Allure charts

Migrate from Allure 2

Allure 2

Install & Upgrade

Install for Windows

Install for macOS

Install for Linux

Install for Node.js

Upgrade Allure

Create Reports

How to generate a report

How to view a report

Improving readability of your test reports

Improving navigation in your test report

Features

Agent Mode

Test steps

Attachments

Test statuses

Assertion diffs

Sorting and filtering

Environments

Multistage Builds

Categories

Visual analytics

Test stability analysis

History and retries

Self-hosted storage

Quality Gate

Global Errors and Attachments

Timeline

Export to CSV

Export metrics

Guides

JUnit 5 parametrization

JUnit 5 & Selenide: screenshots and attachments

JUnit 5 & Selenium: screenshots and attachments

Setting up JUnit 5 with GitHub Actions

Pytest parameterization

Pytest & Selenium: screenshots and attachments

Pytest & Playwright: screenshots and attachments

Pytest & Playwright: videos

Playwright parameterization

Publishing Reports to GitHub Pages

Deploying Self-Hosted Storage with Docker

Deploying Self-Hosted Storage on Cloudflare Workers

Allure Report 3: XCResults Reader

How it works

Overview

Glossary

Test result file

Container file

Categories file

Environment file

Executor file

History files

Test Identifiers

Integrations

Azure DevOps

Bamboo

GitHub Action

Gradle

Jenkins

JetBrains IDEs

Maven

TeamCity

Visual Studio Code

Frameworks

AVA

Getting started

Configuration

Reference

Axios

Getting started

Configuration

Reference

Behat

Getting started

Configuration

Reference

Behave

Getting started

Configuration

Reference

Bun

Getting started

Configuration

Reference

Chai

Getting started

Reference

Codeception

Getting started

Configuration

Reference

CodeceptJS

Getting started

Configuration

Reference

Cucumber.js

Getting started

Configuration

Reference

Cucumber-JVM

Getting started

Configuration

Reference

Cucumber.rb

Getting started

Configuration

Reference

Cypress

Getting started

Configuration

Reference

Dart and Flutter

Getting started

Configuration

Reference

Diesel

Getting started

Configuration

Reference

Fetch

Getting started

Configuration

Reference

Go

Getting started

Configuration

Reference

Jasmine

Getting started

Configuration

Reference

JBehave

Getting started

Configuration

Reference

Jest

Getting started

Configuration

Reference

JUnit 4

Getting started

Configuration

Reference

JUnit 5

Getting started

Configuration

Reference

Mocha

Getting started

Configuration

Reference

Newman

Getting started

Configuration

Reference

Node.js Test Runner

Getting started

Configuration

Reference

NUnit

Getting started

Configuration

Reference

PHPUnit

Getting started

Configuration

Reference

Playwright

Getting started

Configuration

Reference

Playwright Java

Getting started

Configuration

Reference

pytest

Getting started

Configuration

Reference

Pytest-BDD

Getting started

Configuration

Reference

Reqnroll

Getting started

Configuration

Reference

Reqwest

Getting started

Configuration

Reference

REST Assured

Getting started

Configuration

Robot Framework

Getting started

Configuration

Reference

Rust Cargo Test

Getting started

Configuration

Reference

RSpec

Getting started

Configuration

Reference

Selenide

Getting started

Configuration

Reference

Selenium BiDi

Getting started

Configuration

Reference

SpecFlow

Getting started

Configuration

Reference

Spock

Getting started

Configuration

Reference

TestCafe

Getting started

Configuration

Reference

TestNG

Getting started

Configuration

Reference

Vitest

Getting started

Configuration

Reference

WebdriverIO

Getting started

Configuration

Reference

xUnit.net

Getting started

Configuration

Reference

On this page

Allure Diesel reference ​

AllureInstrumentation ​

  • AllureInstrumentation::new() — instrumentation with the default CaptureOptions
  • AllureInstrumentation::with_options(options: CaptureOptions) — see Configuration

Implements Diesel's Instrumentation trait. Attach it to a connection with conn.set_instrumentation(instrumentation).

install_default ​

  • allure_diesel::install_default() -> diesel::QueryResult<()>

Registers AllureInstrumentation::new() (with default CaptureOptions) as the default instrumentation for every Diesel connection established afterward in the current process, via Diesel's set_default_instrumentation. Call it once, before any connections you want captured are established. There's no built-in way to install default instrumentation with non-default CaptureOptions — use set_instrumentation per connection instead if you need that.

Step naming ​

A step's name is the query's rendered SQL — the exact text passed to sql_query(...), or Diesel's own Debug-rendered output for typed query-builder calls (uppercase keywords, e.g. INSERT INTO ...), which for parameterized queries typically includes a trailing, Diesel-internal -- binds: [...] comment showing the bound values.

When the rendered SQL is longer than max_sql_preview characters (1024 by default — see Configuration), the step name is cut to that many characters with a trailing …. This truncation only affects the step name; the query.sql attachment (when enabled) always holds the complete, untruncated text.

Transactions ​

With transaction capture enabled (the default), a BEGIN/SAVEPOINT boundary opens a transaction (depth N) step (N is Diesel's transaction nesting depth), and every statement run while it's open — including the closing COMMIT/ROLLBACK boundary itself — nests inside it as a sibling step, in execution order.

The transaction step's own status and any failure message come from the boundary statements, not from your transaction closure's return value:

  • If the opening BEGIN/SAVEPOINT fails, the transaction step closes immediately as failed with that error, and no closing boundary follows (there's nothing to commit or roll back). Later queries are recorded at the top level again, not nested inside the failed transaction step.
  • If BEGIN succeeds and the transaction later commits successfully, the transaction step is passed.
  • If COMMIT itself fails (for example, a deferred foreign-key constraint that's only checked at commit time), the transaction step is failed, carrying the COMMIT error — even though every statement inside the transaction succeeded individually.
  • If your closure returns Err and Diesel issues a ROLLBACK, the transaction step is passed as long as the ROLLBACK statement itself succeeds — a rollback is a normal, successful database operation from the instrumentation's point of view. The Err your closure returned is never visible to AllureInstrumentation; only whether the boundary SQL succeeded is. If you want a report to visibly flag "this transaction rolled back," record that yourself (for example with a label or a log step) inside the closure.

After a transaction step closes — however it closes — later queries are recorded as top-level siblings again; the internal step stack always rebalances, even when a boundary statement failed.

CaptureOptions ​

See Configuration for the full list of builder methods (without_transactions, with_connection_events, without_sql_attachment, with_max_sql_preview) and their defaults.

Pager
Previous pageConfiguration
Next pageGetting started
Powered by

Subscribe to our newsletter

Get product news you actually need, no spam.

Subscribe
Allure TestOps
  • Overview
  • Why choose us
  • Cloud
  • Self-hosted
  • Success Stories
Company
  • Documentation
  • Blog
  • About us
  • Contact
  • Events
© 2026 Qameta Software Inc. All rights reserved.
A Markdown version of this page is available at /docs/diesel-reference.md