IRONSOFTWAREHOME
ENTWICKLER-UPDATES

Specflow C#

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 21. April 2026

Specflow C# ist ein Open-Source-Testframework, das verhaltensgesteuerte Entwicklung (BDD) unterstützt und es Ihnen ermöglicht, Feature-Dateien für Ihre Testszenarien zu erstellen. Es integriert sich nahtlos in .NET Framework-Projekte.

Sie können Tests in einfacher Sprache beschreiben. Diese Methode erleichtert die Zusammenarbeit zwischen Entwicklern und Nicht-Entwicklern. Jeder kann zu den Testszenarien beitragen. Specflow nutzt hauptsächlich Feature-Dateien, um alle Tests im Features-Ordner zu verwalten und auszuführen.

IronPDF hingegen ist eine Bibliothek, die sich auf die PDF-Bearbeitung innerhalb von .NET konzentriert. Es ermöglicht Ihnen, PDF-Dateien einfach zu erstellen, zu bearbeiten und zu lesen. Sie können HTML direkt in PDFs umwandeln. Diese Funktion ist besonders nützlich für die Erstellung von Berichten oder Dokumenten innerhalb Ihrer Anwendungen. IronPDF ist mit verschiedenen Versionen von .NET kompatibel, einschließlich Core, Framework und Standard.

Obwohl Specflow C# und IronPDF unterschiedliche Zwecke erfüllen, sind sie wertvolle Werkzeuge im Werkzeugkasten eines Entwicklers. Sie können effektiv innerhalb eines Projekts kombiniert werden. Zum Beispiel könnten Sie Specflow C# verwenden, um ein Feature zu definieren und zu testen, bei dem Daten abgerufen und verarbeitet werden, und dann IronPDF einsetzen, um einen Bericht basierend auf den Testergebnissen zu erstellen. Dieses Specflow und IronPDF Integration Tutorial zeigt, wie diese Tools zusammenarbeiten können, um Ihren Anwendungsentwicklungsprozess zu verbessern.

Getting Started with Specflow C#

Einrichtung von Specflow in .NET-Projekten

Um Specflow in Ihren .NET-Projekten zu verwenden, müssen Sie zuerst das Specflow NuGet-Paket installieren, um Ihr Testframework einzurichten, Feature-Dateien zu erstellen und Testszenarien zu definieren.

  1. Öffnen Sie Visual Studio.
  2. Erstellen Sie ein neues .NET-Projekt oder öffnen Sie ein bestehendes.
  3. Gehen Sie zum Menü 'Erweiterungen' und dann zu 'Erweiterungen verwalten'.
  4. Suchen Sie nach "Specflow". Installieren Sie die Specflow-Erweiterung.

Specflow C# (Wie es für Entwickler funktioniert): Abbildung 1

Ein grundlegendes Code-Beispiel

Sobald Specflow eingerichtet ist, können Sie Ihre erste Feature-Datei erstellen, die im Features-Ordner abgelegt wird. Eine Feature-Datei in Specflow beschreibt die Verhaltensweisen, die Sie in einem lesbaren Format testen möchten. Hier ist ein einfaches Beispiel, wie man eine neue Feature-Datei erstellt und Szenarien definiert:

Feature: Login Feature
    Scenario: Successful Login with Valid Credentials
        Given I am on the login page
        When I enter valid credentials
        Then I should be redirected to the dashboard
Text

Diese Feature-Datei beschreibt einen grundlegenden Anmeldeprozess. Given legt den Rahmen für den Test fest. When beschreibt die Aktion. Then definiert das erwartete Ergebnis. Sie schreiben diese Aussagen in einfachem Englisch. Dies macht es einfach, den Ablauf und den Zweck des Tests zu verstehen.

Implement Features of Specflow C#

Tests mit Schrittdefinitionen schreiben

In Specflow werden Tests durch Szenarien angetrieben, die in Feature-Dateien dargelegt sind. Um diese Szenarien ausführbar zu machen, benötigen Sie Schrittdefinitionen. Schrittdefinitionen binden die Schritte in einfacher Sprache an C#-Code. So definieren Sie Schrittdefinitionen:

[Binding]
public class LoginSteps
{
    [Given(@"I am on the login page")]
    public void GivenIAmOnTheLoginPage()
    {
        // Code to navigate to the login page
    }

    [When(@"I enter valid credentials")]
    public void WhenIEnterValidCredentials()
    {
        // Code to input username and password
    }

    [Then(@"I should be redirected to the dashboard")]
    public void ThenIShouldBeRedirectedToTheDashboard()
    {
        // Code to verify the dashboard is displayed
    }
}

Diese C#-Klasse repräsentiert die Schritte des Anmeldeszenarios. Jede Methode ist mit einem Specflow-Attribut markiert, das dem Schritttyp entspricht, z.B. einem Zeichenfolgeschlüssel zur Identifizierung spezifischer Schritte.

Datengetriebenes Testen

Specflow unterstützt datengetriebene Tests, indem es Ihnen ermöglicht, verschiedene Testsätze in Ihren Szenarien zu nutzen. Dadurch können Sie Szenarien mit verschiedenen Datensätzen testen. Hier ist ein Beispiel für die Tabelle in einer Feature-Datei:

Scenario: Login with multiple users
    Given I am on the login page
    When I login with the following credentials:
        | Username  | Password |
        | user1     | pass1    |
        | user2     | pass2    |
    Then I should see user specific dashboard
Text

In Ihren Schrittdefinitionen können Sie auf diese Daten wie folgt zugreifen:

[When(@"I login with the following credentials:")]
public void WhenILoginWithTheFollowingCredentials(Table table)
{
    foreach(var row in table.Rows)
    {
        string username = row["Username"];
        string password = row["Password"];
        // Code to perform login
    }
}

Integration mit Test Explorer

Specflow integriert sich in den Test-Explorer von Visual Studio, wo Sie alle Tests effizient ausführen und verwalten können. Dies erleichtert das Ausführen und Verwalten Ihrer Tests. Stellen Sie sicher, dass Ihr Projekt richtig konfiguriert ist. Ihre Tests erscheinen im Test-Explorer, sobald Sie das Projekt erstellen. Sie können einzelne Tests oder alle Tests auf einmal ausführen.

Parallele Testdurchführung

Specflow unterstützt das Ausführen von parallelen Tests, um die Gesamtausführungszeit zu verkürzen. Dies reduziert die Zeit, die für die Ausführung aller Tests benötigt wird. Sie müssen Ihre specflow.json Datei oder AssemblyInfo.cs konfigurieren, um die parallele Ausführung zu ermöglichen:

{
  "specFlow": {
    "runtime": {
      "testThreadCount": 4,
      "testSchedulingMode": "Parallel"
    }
  }
}
JSON

Diese Konfiguration ermöglicht es, bis zu vier Tests gleichzeitig auszuführen.

Benutzerdefinierte Hooks

Mit Specflow können Sie benutzerdefinierte Hooks definieren. Diese Hooks können zu verschiedenen Zeitpunkten im Testlebenszyklus Code ausführen. So definieren Sie einen Hook für die Einrichtung einer Datenbank, bevor Tests ausgeführt werden:

[BeforeTestRun]
public static void SetUpDatabase()
{
    // Code to set up database
}

Benutzerdefinierte Hooks sind eine leistungsstarke Funktion. Sie helfen Ihnen, Testeinrichtungs- und Abbauprozesse zu verwalten.

In diesem Abschnitt wurden fünf wichtige Funktionen von Specflow behandelt, die Ihr Testframework in .NET-Projekten verbessern können. Jede Funktion ist darauf ausgelegt, die Flexibilität und Effizienz Ihrer Testautomatisierungsbemühungen zu verbessern.

Integrating Specflow C# with IronPDF

Specflow C# (Wie es für Entwickler funktioniert): Abbildung 2

IronPDF ist eine Bibliothek für C#, die es Entwicklern ermöglicht, PDF-Dateien innerhalb von .NET-Anwendungen zu generieren, zu bearbeiten und darzustellen. Dieses leistungsstarke Tool kann eine wertvolle Ergänzung zu Ihrem Arsenal für Testzwecke sein, wenn es mit Specflow, dem BDD-Framework for .NET, verwendet wird.

Durch die Integration von IronPDF können Sie das Testen von PDF-Ausgaben in Ihren Anwendungen automatisieren und sicherstellen, dass sie den erforderlichen Spezifikationen entsprechen.

Use Case of Merging IronPDF with Specflow C#

Ein praktischer Anwendungsfall für die Kombination von IronPDF mit Specflow ist die Validierung der Inhalte und der Formatierung eines von Ihrer Anwendung generierten PDF-Berichts. So können Sie beispielsweise automatisch testen, ob ein Bericht die korrekten Daten enthält, dem erwarteten Layout entspricht und den festgelegten Anforderungen entspricht. Diese Integration erweist sich besonders in Szenarien als nützlich, in denen genaue Dokumentationen wie Rechnungen oder Konformitätsberichte entscheidend sind.

Stellen Sie sicher, dass Sie IronPDF installiert haben. Sie können es mit der NuGet-Paketkonsole installieren:

PM > Install-Package IronPdf

Specflow C# (Wie es für Entwickler funktioniert): Abbildung 3

Codebeispiel für den Anwendungsfall

Hier ist ein vollständiges Codebeispiel, das zeigt, wie Sie eine Specflow-Schrittdefinition einrichten, um PDF-Inhalte mit IronPDF zu testen. Dieses Beispiel geht davon aus, dass Sie ein von Ihrer Anwendung generiertes PDF-Dokument testen, das einen bestimmten Text enthalten sollte:

using IronPdf;
using TechTalk.SpecFlow;

[Binding]
public class PdfContentSteps
{
    private string? _pdfPath;
    private PdfDocument? _pdfDocument;

    [Given(@"a PDF file generated at '(.*)'")]
    public void GivenAPDFFileGeneratedAt(string pdfPath)
    {
        _pdfPath = pdfPath;
        _pdfDocument = new PdfDocument(_pdfPath);
    }

    [Then(@"the PDF should contain the text '(.*)'")]
    public void ThenThePDFShouldContainTheText(string expectedText)
    {
        // Extract text from the PDF and check if it contains the expected text
        var textContent = _pdfDocument.ExtractAllText();
        if (!textContent.Contains(expectedText))
        {
            throw new Exception("PDF content does not contain the expected text.");
        }
    }
}

In diesem Code definieren wir einen Specflow-Schritt, der zuerst ein PDF von einem angegebenen Pfad lädt und dann überprüft, dass dieses PDF den erwarteten Text enthält. Die IronPdf.PdfDocument Klasse wird verwendet, um die PDF-Datei zu laden und zu bearbeiten. Diese Konfiguration ermöglicht die Integration der PDF-Validierung in Ihre automatisierten Tests, was die Fehlererkennung erleichtert.

Abschluss

Zusammenfassend lässt sich sagen, dass die Kombination von Specflow C# und IronPDF die Möglichkeiten Ihrer .NET-Projekte, insbesondere bei der Arbeit mit PDF-Dokumenten, erweitert. Specflow ist hervorragend darin, detaillierte Testszenarien in einfacher Sprache zu definieren und auszuführen.

IronPDF ergänzt dies durch robuste PDF-Bearbeitungsfunktionen. Durch die Integration dieser beiden leistungsstarken Tools können Sie Ihren Testprozess optimieren. Wenn Sie mit diesen Funktionen experimentieren möchten, probieren Sie IronPDF kostenlos aus.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $