local

This configuration section contains settings for the local repository (file system) containing the feature files.

The following example shows the available options within this section.

{
  ...
  "local": {
    "projectType": "projectFile",
    "projectFilePath": "MyProject.Specs\\MyProject.Specs.csproj",

    "condition": "@done and not (@ignored or @planned)",

    "sourceFiles": [
      "Folder1/",
      "Folder3/**/alpha*.feature"
    ],
    
    "defaultDocumentLanguage": "en-US"
  },
  ...
}

Settings

Setting
Description
Default

projectType

The type of the source configuration. Available options: projectFile, folder.

  • projectFile — Loads source file list from a .NET C# project file (.csproj). SpecSync detects the project file by extension in the folder of the configuration file by default, but the project file path can also be specified in the local/projectFilePath setting.

  • folder — Loads the source files from a particular folder and its sub-folders. The folder can be specified in the local/folder setting.

projectFile

projectFilePath

The path of the project file. Can contain an absolute or a relative path to the config file folder. It may contain environment variables in ...%MYENV%... form.

mandatory for type projectFile

folder

The folder to search the source files in when projectType was set to folder. Can contain an absolute or a relative path to the config file folder. It may contain environment variables in ...%MYENV%... form.

load source files from the folder of the config file

condition

A local test case condition of scenarios that should be included in synchronization (e.g. not @ignore or @done and not (@ignored or @planned)). See Excluding scenarios from synchronization for details.

all scenarios included

sourceFiles

An array of local test case conditions with source file predicates (glob patterns) of files that should be included in synchronization (e.g. Folder1/ or Folder3/**/alpha*.feature). See Excluding scenarios from synchronization for details.

all scenarios included

defaultDocumentLanguage

The default document (feature file) language, e.g. de-AT.

get from SpecFlow config or use en-US

Example: Synchronize feature files of a SpecFlow project

The SpecFlow project can be detected in the folder of the configuration file usually, in this case no additional configuration is required. (SpecSync tries to find a .csproj file in the folder.) In case there are multiple .NET project in the folder or the configuration file is not stored in the project root, you should configure SpecSync as below:

Example: Synchronize feature files from the features folder

For Cucumber-based projects, it is common to store the feature files in a folder called features. In order to synchronize the feature files with this setup, the project type has to be configured to folder and the required folder path has to be specified in the folder setting:

You can invoke the synchronization as usual:

Example: Synchronize specific feature files

The following example synchronizes a specific set of feature files.

Let's imagine a folder structure as the following:

In this example SpecSync is configured to synchronize all feature files that are:

  • within features/group_b (so currently feature_e.feature)

  • have a name that starts with feature_d (so currently features/group_a/area_1/feature_d.feature)

You can invoke the synchronization as usual:

Configuration reference

Last updated

Was this helpful?