mirror of
https://github.com/boostorg/test.git
synced 2026-01-25 06:42:22 +00:00
160 lines
11 KiB
HTML
160 lines
11 KiB
HTML
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
|
<title>Unit Test Framework: User's guide</title>
|
|
<link rel="stylesheet" href="../../style/style.css" type="text/css">
|
|
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
|
|
<link rel="home" href="../index.html" title="Boost Test Library">
|
|
<link rel="up" href="../utf.html" title="Boost Test Library: The Unit Test Framework">
|
|
<link rel="prev" href="compilation/direct-include.html" title="Including the UTF directly into your test module">
|
|
<link rel="next" href="user-guide/usage-variants.html" title="The UTF usage variants … or the Buridan's donkey parable">
|
|
<script language="JavaScript1.2" src="../../js/boost-test.js"></script>
|
|
</head>
|
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
<table width="100%"><tr>
|
|
<td width="10%"><a href="../index.html"><img alt="Home" width="229" height="61" border="0" src="../../../../../libs/test/doc/img/boost.test.logo.png"></a></td>
|
|
<td valign="middle" align="left"> > <a href="../utf.html">The Unit Test Framework</a><a href="../execution-monitor.html">
|
|
>
|
|
</a><b>User's guide</b><a href="usage-recommendations.html">
|
|
>
|
|
</a>
|
|
</td>
|
|
<td><div class="spirit-nav">
|
|
<a href="compilation/direct-include.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a href="user-guide/usage-variants.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
|
</div></td>
|
|
</tr></table>
|
|
<hr>
|
|
<div class="section">
|
|
<div class="titlepage"><div><div><h3 class="title">
|
|
<a name="utf.user-guide"></a>Unit Test Framework: User's guide</h3></div></div></div>
|
|
<div class="toc">
|
|
<p><b>Table of Contents</b></p>
|
|
<dl>
|
|
<dt><a href="user-guide/usage-variants.html">Usage variants</a></dt>
|
|
<dl>
|
|
<dt><a href="user-guide/usage-variants/static-lib-variant.html">Static library</a></dt>
|
|
<dt><a href="user-guide/usage-variants/dynamic-lib-variant.html">Dynamic library</a></dt>
|
|
<dt><a href="user-guide/usage-variants/single-header-variant.html">Single header</a></dt>
|
|
<dt><a href="user-guide/usage-variants/extern-test-runner-variant.html">External test runner</a></dt>
|
|
</dl>
|
|
<dt><a href="user-guide/test-organization.html">Test organization</a></dt>
|
|
<dl>
|
|
<dt><a href="user-guide/test-organization/nullary-test-case.html">Nullary function based test case</a></dt>
|
|
<dl>
|
|
<dt><a href="user-guide/test-organization/auto-nullary-test-case.html">Automated registration</a></dt>
|
|
<dt><a href="user-guide/test-organization/manual-nullary-test-case.html">Manual registration</a></dt>
|
|
</dl>
|
|
<dt><a href="user-guide/test-organization/unary-test-case.html">Unary function based test case</a></dt>
|
|
<dt><a href="user-guide/test-organization/test-case-template.html">Test case template</a></dt>
|
|
<dl>
|
|
<dt><a href="user-guide/test-organization/auto-test-case-template.html">Automated registration</a></dt>
|
|
<dt><a href="user-guide/test-organization/manual-test-case-template.html">Manual registration</a></dt>
|
|
</dl>
|
|
<dt><a href="user-guide/test-organization/test-suite.html">Test suite</a></dt>
|
|
<dl>
|
|
<dt><a href="user-guide/test-organization/auto-test-suite.html">Automated registration</a></dt>
|
|
<dt><a href="user-guide/test-organization/manual-test-suite.html">Manual registration</a></dt>
|
|
<dt><a href="user-guide/test-organization/master-test-suite.html">Master Test Suite</a></dt>
|
|
</dl>
|
|
<dt><a href="user-guide/test-organization/expected-failures.html">Expected failures specification</a></dt>
|
|
</dl>
|
|
<dt><a href="user-guide/testing-tools.html">Testing tools</a></dt>
|
|
<dl>
|
|
<dt><a href="user-guide/testing-tools/output-test.html">Output testing tool</a></dt>
|
|
<dt><a href="user-guide/testing-tools/custom-predicate.html">Custom predicate support</a></dt>
|
|
<dt><a href="user-guide/testing-tools/floating_point_comparison.html">Floating-point comparison algorithms</a></dt>
|
|
<dt><a href="user-guide/testing-tools/reference.html">Reference</a></dt>
|
|
</dl>
|
|
<dt><a href="user-guide/test-output.html">Test Output </a></dt>
|
|
<dl>
|
|
<dt><a href="user-guide/test-output/test-log.html">Test log</a></dt>
|
|
<dl>
|
|
<dt><a href="user-guide/test-output/BOOST_TEST_MESSAGE.html">BOOST_TEST_MESSAGE</a></dt>
|
|
<dt><a href="user-guide/test-output/BOOST_TEST_CHECKPOINT.html">BOOST_TEST_CHECKPOINT</a></dt>
|
|
<dt><a href="user-guide/test-output/BOOST_TEST_PASSPOINT.html">BOOST_TEST_PASSPOINT</a></dt>
|
|
<dt><a href="user-guide/test-output/FPT.html">Logging floating point type numbers</a></dt>
|
|
<dt><a href="user-guide/test-output/log-hr-format.html">Human readable format</a></dt>
|
|
<dt><a href="user-guide/test-output/log-xml-format.html">XML based log output format</a></dt>
|
|
<dt><a href="user-guide/test-output/log-ct-config.html">Compile time configuration</a></dt>
|
|
</dl>
|
|
<dt><a href="user-guide/test-output/results-report.html">Test report output</a></dt>
|
|
<dt><a href="user-guide/test-output/test-progress.html">Progress display</a></dt>
|
|
</dl>
|
|
<dt><a href="user-guide/runtime-config.html">Runtime configuration </a></dt>
|
|
<dl>
|
|
<dt><a href="user-guide/runtime-config/run-by-name.html">Run by name</a></dt>
|
|
<dt><a href="user-guide/runtime-config/reference.html">Parameters reference</a></dt>
|
|
</dl>
|
|
<dt><a href="user-guide/fixture.html">Fixtures</a></dt>
|
|
<dl>
|
|
<dt><a href="user-guide/fixture/model.html">Generic model</a></dt>
|
|
<dt><a href="user-guide/fixture/per-test-case.html">Per test case</a></dt>
|
|
<dt><a href="user-guide/fixture/test-suite-shared.html">Test suite shared</a></dt>
|
|
<dt><a href="user-guide/fixture/global.html">Global fixture</a></dt>
|
|
</dl>
|
|
<dt><a href="user-guide/initialization.html">Test module initialization</a></dt>
|
|
<dt><a href="user-guide/test-runners.html">Supplied test runners</a></dt>
|
|
<dl><dt><a href="user-guide/usage-variants/extern-test-runner.html">External test runner</a></dt></dl>
|
|
<dt><a href="user-guide/glossary.html">Glossary</a></dt>
|
|
</dl>
|
|
</div>
|
|
<div class="section">
|
|
<div class="titlepage"><div><div><h4 class="title">
|
|
<a name="utf.user-guide.intro"></a>Introduction … or where to start?</h4></div></div></div>
|
|
<p class="first-line-indented">
|
|
Without further ado, I'd like to start … but where? It's not obvious what is the best order to describe the framework.
|
|
One can use bottom up approach, starting with with basics and going up to cover real interfaces based on them. The downside is
|
|
that you'll have to dig through the multiple pages of information you may not never need in real life. One can follow the order
|
|
of test program execution. From test initialization to test tree construction to the report and log generation. This also
|
|
unfortunately may not be most clear way. The Boost.Test <acronym class="acronym">UTF</acronym> is very flexible and a lot of details of various test initialization
|
|
options may not necessarily important for average user, while understanding test output is.
|
|
</p>
|
|
<p class="first-line-indented">
|
|
Well … This is a User's Guide after all. Let's go by what <span class="bold"><strong>you</strong></span> need to know to successfully use the <acronym class="acronym">UTF</acronym>. Thus I follow
|
|
the order of decisions you as a user have to make and order of complexity of the problems you have to solve. If you find yourself
|
|
faces with some unclear term feel free to jump directly to the <a class="link" href="user-guide/glossary.html">Glossary</a> section,
|
|
where I collection short definition for all used terms. And again if you want to jump right into coding the
|
|
<a class="link" href="tutorials.html" title="The unit test framework tutorials">Tutorials</a> section would be a better place to start.
|
|
</p>
|
|
<p class="first-line-indented">
|
|
The <acronym class="acronym">UTF</acronym> has several usage variants. And the first decision you have to make is which one to use. These variants are covered in
|
|
section dedicated to <a class="link" href="user-guide/usage-variants.html" title="The UTF usage variants … or the Buridan's donkey parable">Usage variants</a>. The next step, probably the most important
|
|
for you, is to start writing test cases, bind them in test suites and implement your checks. First two topics are coverred in
|
|
<a class="link" href="user-guide/test-organization.html" title="Test organization … or the house that Jack built">Test organization</a> section, while
|
|
<a class="link" href="user-guide/testing-tools.html" title="The UTF testing tools … or tester's toolbox for all occasions">Testing tools</a> section arms you with rich set of tools enough to implement
|
|
almost arbitrary check you need.
|
|
</p>
|
|
<p class="first-line-indented">
|
|
Next you'll learn how to understand and manipulate the <acronym class="acronym">UTF</acronym> output in a <a class="link" href="user-guide/test-output.html" title="Test Output … or let's see what you got for your money">Test output</a>
|
|
section. At that point you should be able to build and run most simple test modules and almost inevitable find a need to configure
|
|
how the test module is executed. Whether you want to change output format, select which test case to run or run test cases in random order
|
|
these and may other runtime configuration parameters are discribed in <a class="link" href="user-guide/runtime-config.html" title="Runtime configuration … or what are the strings I can pull?">Runtime configuration</a>
|
|
section.
|
|
</p>
|
|
<p class="first-line-indented">
|
|
One of the first non trivial things you might want toadd to your test module is test fixture. Fixture support is coverred in
|
|
<a class="link" href="user-guide/fixture.html" title="Fixtures … or let me repeat myself">Test fixture</a> section. Usually th default test module initialization will work just fine,
|
|
but if you want to implement some custom initialization or change how default initialization behaves you need to first look in
|
|
<a class="link" href="user-guide/initialization.html" title="Test module initialization … or ready, set …">Test module initialization</a> section. Here you'll learn about various options the <acronym class="acronym">UTF</acronym>
|
|
provides for you to customize this behavior.
|
|
</p>
|
|
<p class="first-line-indented">
|
|
Finally you might want to learn about how the <acronym class="acronym">UTF</acronym> implements entry points into the test modules. This is especially important if you
|
|
intend to implement main function yourself (and not use the main function provided by the <acronym class="acronym">UTF</acronym>). The
|
|
<a class="link" href="user-guide/test-runners.html" title="The supplied test runners … or where is the entrance?">Test runners</a> section covers this subject. Different usage variants employ slightly
|
|
different approached to implementing test module entry points and presents slightly different interfaces. This section intended for advanced
|
|
user some of the details of the implementation are described there.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
|
<td align="left"></td>
|
|
<td align="right"><div class="copyright-footer">Copyright © 2001-2012 Gennadiy Rozental</div></td>
|
|
</tr></table>
|
|
<hr>
|
|
<div class="spirit-nav">
|
|
<a accesskey="p" href="compilation/direct-include.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="user-guide/usage-variants.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
|
</div>
|
|
</body>
|
|
</html>
|