.\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . .TH "BATS" "1" "August 2014" "" "" . .SH "NAME" \fBbats\fR \- Bash Automated Testing System . .SH "SYNOPSIS" bats [\-c] [\-p | \-t] \fItest\fR [\fItest\fR \.\.\.] . .P \fItest\fR is the path to a Bats test file, or the path to a directory containing Bats test files\. . .SH "DESCRIPTION" Bats is a TAP\-compliant testing framework for Bash\. It provides a simple way to verify that the UNIX programs you write behave as expected\. . .P A Bats test file is a Bash script with special syntax for defining test cases\. Under the hood, each test case is just a function with a description\. . .P Test cases consist of standard shell commands\. Bats makes use of Bash\'s \fBerrexit\fR (\fBset \-e\fR) option when running test cases\. If every command in the test case exits with a \fB0\fR status code (success), the test passes\. In this way, each line is an assertion of truth\. . .P See \fBbats\fR(7) for more information on writing Bats tests\. . .SH "RUNNING TESTS" To run your tests, invoke the \fBbats\fR interpreter with a path to a test file\. The file\'s test cases are run sequentially and in isolation\. If all the test cases pass, \fBbats\fR exits with a \fB0\fR status code\. If there are any failures, \fBbats\fR exits with a \fB1\fR status code\. . .P You can invoke the \fBbats\fR interpreter with multiple test file arguments, or with a path to a directory containing multiple \fB\.bats\fR files\. Bats will run each test file individually and aggregate the results\. If any test case fails, \fBbats\fR exits with a \fB1\fR status code\. . .SH "OPTIONS" . .TP \fB\-c\fR, \fB\-\-count\fR Count the number of test cases without running any tests . .TP \fB\-h\fR, \fB\-\-help\fR Display help message . .TP \fB\-p\fR, \fB\-\-pretty\fR Show results in pretty format (default for terminals) . .TP \fB\-r\fR, \fB\-\-recursive\fR Include tests in subdirectories . .TP \fB\-t\fR, \fB\-\-tap\fR Show results in TAP format . .TP \fB\-v\fR, \fB\-\-version\fR Display the version number . .SH "OUTPUT" When you run Bats from a terminal, you\'ll see output as each test is performed, with a check\-mark next to the test\'s name if it passes or an "X" if it fails\. . .IP "" 4 . .nf $ bats addition\.bats ✓ addition using bc ✓ addition using dc 2 tests, 0 failures . .fi . .IP "" 0 . .P If Bats is not connected to a terminal\-\-in other words, if you run it from a continuous integration system or redirect its output to a file\-\-the results are displayed in human\-readable, machine\-parsable TAP format\. You can force TAP output from a terminal by invoking Bats with the \fB\-\-tap\fR option\. . .IP "" 4 . .nf $ bats \-\-tap addition\.bats 1\.\.2 ok 1 addition using bc ok 2 addition using dc . .fi . .IP "" 0 . .SH "EXIT STATUS" The \fBbats\fR interpreter exits with a value of \fB0\fR if all test cases pass, or \fB1\fR if one or more test cases fail\. . .SH "SEE ALSO" Bats wiki: \fIhttps://github\.com/bats\-core/bats\-core/wiki/\fR . .P \fBbash\fR(1), \fBbats\fR(7) . .SH "COPYRIGHT" (c) 2017 Bianca Tamayo (bats-core organization) (c) 2014 Sam Stephenson . .P Bats is released under the terms of an MIT\-style license\.