|Windows||Linux / OS X (Mono)|
This plugin is deprecated because Microsoft is ending support for .NET Framework. Refer https://devblogs.microsoft.com/dotnet/net-core-is-the-future-of-net.
Please use the Gauge Dotnet plugin instead.
Porting Gauge-CSharp projects to Gauge-Dotnet
Gauge-CSharp plugin uses and relies on Microsoft .NET framework for execution. Gauge-Dotnet plugin relies on .NET Core.
In order to port your .NET Framework project to .NET Core, please refer to this guide: https://docs.microsoft.com/en-us/dotnet/core/porting/
Additionally, you'll need to point your gauge project to use gauge-dotnet runner.
This can be done by editing the
manifest.json file located in the project root location.
manifest.jsonin any text editor.
- Locate the line with text:
- Change the located line to
- Save the file
Now you should be able to run your project using
Note that you'll have to ensure that the project file (.csproj) and it's structure meet the recommendations of .NET Core.
gauge install csharp
Create a gauge-csharp project
gauge init csharp
gauge run specs
Alternate Installation options
Install specific version
- Installing specific version
gauge install csharp --version 0.10.1
- Download the plugin from Releases
gauge install csharp --file gauge-csharp-0.10.1.zip
Build from Source
Development Environment Setup
Apart from Gauge and [.NET Framework], you will need
- Use BoxStarter to setup Windows box.
- Install Windows
- Hit http://bit.ly/20pMrXY from Internet Explorer/Edge.
- Install Visual Studio and Resharper separately (You could consider installing from an ISO).
For building and unit testing you only need mono.
Lib is a dll that brings in Gauge's data types to C#. It is hosted in Nuget.
Read more about
Core is a dll that brings in Gauge's API and connection to C#, and also holds the protobuf communication code. It is hosted in Nuget, and is not listed in the search results. This package is used by
Read more about
Gauge CSharp Runner
Runner is an executable that is invoked by Gauge Core. The
Runner acts a bridge between C# test code and Gauge's API.
Read more about
This is a submodule of the repository
https://github.com/getgauge/gauge-proto. This repository holds the
.proto files that act as contracts between Gauge and the plugins. This submodule needs to be fetched to generate the protobuf classes.
The Lib is a reference that you can add to your test project, as you would do with any Nuget package.
You will need Gauge and Gauge-csharp plugin installed before installing
Regenerate the API messages (protocol buffer api changes)
Update the submodule and run the
git submodule update run.bat gen-proto
For running functional tests
- java 1.8
Choose from the below targets (whichever is applicable)
||Runs all functional tests without
||Runs all functional tests with
||Builds, runs Unit and Integration tests, installs Gauge-CSharp from artifact, and triggers
All artifacts are genereated in
- The plugin is zipped to
<runner-version>is from top of
- The Lib Nuget package is put at
<lib-version>is from top of
- The Core Nuget package is put at
<core-version>is from top of
Zip distribution in
artifacts/gauge-csharp/gauge-csharp-<runner-version>.zip can be created with
Install the plugin
To install a local version of the plugin, choose from the below targets (whichever is applicable)
||Installs Runner from generated Artifact|
Gauge-csharp is released under GNU Public License version 3.0
Copyright 2019 ThoughtWorks, Inc.