SpecSync Documentation
Jira
Jira
  • Introduction to SpecSync for Jira
  • Getting started
    • Getting started using SpecFlow
    • Getting started using Cucumber or other Gherkin-based BDD tool
  • Installation & Setup
    • Install as .NET tool
    • Install as .NET Console App
    • Install as native binaries for Linux or macOS
    • Install as Docker image
    • Setup and Configure
  • Features
    • Push features
      • Pushing scenario changes to Test Cases
      • Configuring the format of the synchronized test cases
      • Synchronizing Scenario Outlines
      • Update Test Case fields
      • Attach files to Test Cases using tags
      • Customization: Setting Test Case fields with default values
      • Customization: Update custom Test Case fields on push
      • Customization: Ignoring marked Test Case steps
      • Customization: Ignoring Test Case Tags
      • Customization: Ignore non-supported local tags
      • Customization: Mapping tags
      • Customization: Synchronizing scenarios from feature branches
      • Customization: Automatically link changed Test Cases
      • Customization: Synchronize linked artifact titles
      • Customization: Do not synchronize title
    • Pull features
      • Pulling Test Case changes to local scenarios
    • Common synchronization features
      • Configuration key
      • Remote scope
      • Linking Work Items using tags
      • Synchronizing Test Case hierarchies
      • Excluding scenarios from synchronization
      • Synchronization conflict resolution
    • Test result publishing features
      • Publishing test result files
    • General features
      • Jira authentication options
      • Configuration file
      • Hierarchical configuration files
      • Local test case conditions
      • Configuration wizards
      • SpecSync plugins
    • Customizations
    • Plugin list
  • Licensing
  • Guides
    • What is my Jira server URL?
    • Jira Test Case Management (TCM) solution
    • How to define the local feature-set to be synchronized
    • Filters and scopes
    • How to use SpecSync from build or release pipeline
    • How to upgrade to a newer version of SpecSync
    • How to attach files to test results
    • Using SpecSync with Cucumber
    • Using SpecSync with Cypress
    • Using SpecSync with Postman
    • Using SpecSync with TestNG
    • Using SpecSync on macOS or Linux
    • Using SpecSync inside a Docker container
    • Migrating from SpecSync v1 to v5
  • Changelog
  • Release Model and Roadmap
  • Downloads
  • Reference
    • Command line reference
      • init
      • upgrade
      • push
      • pull
      • publish-test-results
      • version
    • Configuration reference
      • toolSettings
      • local
      • remote
      • jira
      • knownRemotes
      • synchronization
        • push
        • pull
        • links
        • attachments
        • format
        • fieldUpdates
      • hierarchies
      • publishTestResults
      • specFlow
      • customizations
    • Compatibility
    • Older versions
  • Contact
    • SpecSync Support
    • Troubleshooting
    • FAQ
  • Project Website
Powered by GitBook
On this page
  • Attaching files to test results with .NET tests & NUnit
  • Attaching files to test results with .NET tests & MsTest
  • Test execution frameworks that do not support test attachments

Was this helpful?

  1. Guides

How to attach files to test results

PreviousHow to upgrade to a newer version of SpecSyncNextUsing SpecSync with Cucumber

Last updated 3 months ago

Was this helpful?

The publish-test-results command loads and publishes test results from the test result output file of your test execution tool (e.g. a TRX or XML file). These files might not only contain test execution outcome, error messages and other execution details, but might also contain a reference to additional files called test result attachments (e.g. a screenshot of the execution when the test failed). When SpecSync detects such an attachment, it attaches the files to the test result, so you can also browse the file in Jira along with the other test results.

The different test execution tools provide different methods for attaching files to the current test execution, and unfortunately there are some such an option. The aim to this guide is to provide help about how this can be achieved with the different tools. The list might not be complete. If you have found a way to attach files with a tool that is not listed here, please so that we can extend the list.

Attaching files to test results with .NET tests & NUnit

With NUnit you need to save the attachment file to the file system and then report the file path to NUnit using the TestContext.AddTestAttachment method:

NUnit.Framework.TestContext.AddTestAttachment(attachmentPath, "My attachment");

Attaching files to test results with .NET tests & MsTest

With MsTest you need to save the attachment file to the file system and then report the file path to MsTest using the current TestContext instance. To obtain the current TestContext instance, you need to specify it among the constructor parameters of your step definition class and save it to an instance field. (In case of hooks, you can list the TestContext in the hook method parameters.)

[Binding]
public class MyStepDefinitions
{
  private readonly TestContext _testContext;

  public MyStepDefinitions(TestContext testContext)
  {
    _testContext = testContext;
  }

  [When(@"a test attachment is saved")]
  public void WhenATestAttachmentIsSaved()
  {
    string attachmentPath = // save attachment & calculate attachment path

    _testContext.AddResultFile(attachmentPath);
  }
}

Test execution frameworks that do not support test attachments

  • SpecFlow & xUnit (xUnit does not support test attachments)

For the frameworks that do not support recording test result attachments, you can use the following workaround: Save all files to be attached in a new folder and then attach all files to the published Test Run using the --attachedFiles option of the . Unfortunately in this case the files will not be attached to a particular test result but to the entire Test Run, so it is advised to use file names that contain identifiable information about the scenario.

publish-test-results command
contact us
test execution tools that do not support