Add table of contents

This commit is contained in:
Martin Moene 2017-08-28 22:42:26 +02:00 committed by Martin Hořeňovský
parent c5553019cc
commit 07211cea9c
5 changed files with 54 additions and 0 deletions

View File

@ -1,6 +1,12 @@
<a id="top"></a>
# Assertion Macros
**Contents**
[Natural Expressions](#natural-expressions)
[Exceptions](#exceptions)
[Matcher expressions](#matcher-expressions)
[Thread Safety](#thread-safety)
Most test frameworks have a large collection of assertion macros to capture all possible conditional forms (```_EQUALS```, ```_NOTEQUALS```, ```_GREATER_THAN``` etc).
Catch is different. Because it decomposes natural C-style conditional expressions most of these forms are reduced to one or two that you will use all the time. That said there are a rich set of auxilliary macros as well. We'll describe all of these here.

View File

@ -1,6 +1,30 @@
<a id="top"></a>
# Command line
**Contents**
[Specifying which tests to run](#specifying-which-tests-to-run)
[Choosing a reporter to use](#choosing-a-reporter-to-use)
[Breaking into the debugger](#breaking-into-the-debugger)
[Showing results for successful tests](#showing-results-for-successful-tests)
[Aborting after a certain number of failures](#aborting-after-a-certain-number-of-failures)
[Listing available tests, tags or reporters](#listing-available-tests-tags-or-reporters)
[Sending output to a file](#sending-output-to-a-file)
[Naming a test run](#naming-a-test-run)
[Eliding assertions expected to throw](#eliding-assertions-expected-to-throw)
[Make whitespace visible](#make-whitespace-visible)
[Warnings](#warnings)
[Reporting timings](#reporting-timings)
[Load test names to run from a file](#load-test-names-to-run-from-a-file)
[Just test names](#just-test-names)
[Specify the order test cases are run](#specify-the-order-test-cases-are-run)
[Specify a seed for the Random Number Generator](#specify-a-seed-for-the-random-number-generator)
[Identify framework and version according to the libIdentify standard](#identify-framework-and-version-according-to-the-libidentify-standard)
[Wait for key before continuing](#wait-for-key-before-continuing)
[Specify multiples of clock resolution to run benchmarks for](#specify-multiples-of-clock-resolution-to-run-benchmarks-for)
[Usage](#usage)
[Specify the section to run](#specify-the-section-to-run)
[Filenames as tags](#filenames-as-tags)
Catch works quite nicely without any command line options at all - but for those times when you want greater control the following options are available.
Click one of the followings links to take you straight to that option - or scroll on to browse the available options.

View File

@ -1,6 +1,15 @@
<a id="top"></a>
# Compile-time configuration
**Contents**
[main()/ implementation](#main-implementation)
[Prefixing Catch macros](#prefixing-catch-macros)
[Terminal colour](#terminal-colour)
[Console width](#console-width)
[stdout](#stdout)
[Other toggles](#other-toggles)
[Windows header clutter](#windows-header-clutter)
Catch is designed to "just work" as much as possible. For most people the only configuration needed is telling Catch which source file should host all the implementation code (```CATCH_CONFIG_MAIN```).
Nonetheless there are still some occasions where finer control is needed. For these occasions Catch exposes a set of macros for configuring how it is built.

View File

@ -1,6 +1,12 @@
<a id="top"></a>
# Why do my tests take so long to compile?
**Contents**
[Short answer](#short-answer)
[Long answer](#long-answer)
[Practical example](#practical-example)
[Other possible solutions](#other-possible-solutions)
Several people have reported that test code written with Catch takes much longer to compile than they would expect. Why is that?
Catch is implemented entirely in headers. There is a little overhead due to this - but not as much as you might think - and you can minimise it simply by organising your test code as follows:

View File

@ -1,6 +1,15 @@
<a id="top"></a>
# Tutorial
**Contents**
[Getting Catch](#getting-catch)
[Where to put it?](#where-to-put-it)
[Writing tests](#writing-tests)
[Test cases and sections](#test-cases-and-sections)
[BDD-Style](#bdd-style)
[Scaling up](#scaling-up)
[Next steps](#next-steps)
## Getting Catch
The simplest way to get Catch is to download the latest [single header version](https://raw.githubusercontent.com/philsquared/Catch/master/single_include/catch.hpp). The single header is generated by merging a set of individual headers but it is still just normal source code in a header file.