Gauge specifications are written in the business language. For example, Find movies playing near me =========================== The System Under Test in this example is a web application to find and book movie tickets Search for movies ----------------- • Specify location as "Bangalore" • Search for movie "Star Wars" • Verify that "INOX" is playing "Star Wars" at "7:30 pm" Book movie ticket ----------------- • Sign up with email address • Complete the verification • Select location as "Bangalore", the movie "Star Wars" and "3" seats • Confirm and pay • Verify the "e-ticket" has been sent to the registered email. This Gauge specification describes a feature of the
System Under Test. The scenarios Search for movies and Book movie ticket represent a flow in this specification. Steps are executable parts of a specification.
Test Code Specifications in Markdown abstracts code behind the steps. For example, the step Specify location as "Bangalore" implementation in Java would look like // This Method can be written in any java class as long as it is in classpath. public class StepImplementation { @Step("Specify location as ") public void helloWorld(String location) { // Step implementation } } Gauge has Support for writing test code in: •
Java •
Ruby •
C# The Community contributed language runners are: •
JavaScript •
Python •
Golang Execution Gauge tests can be executed from the command line or the supported IDEs. The default command gauge specs run the tests sequentially. The command gauge -p specs will execute the tests in Parallel.
Reports Gauge gives comprehensive test reports that provides the required details of a given run.
IDE support Gauge's IDE support helps to write and maintain the test suite. ==References==