<!-- saved from url=(0014)about:internet --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <html> <!-- Standard Head Part --> <head> <title>NUnit - Assertions</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta http-equiv="Content-Language" content="en-US"> <link rel="stylesheet" type="text/css" href="nunit.css"> <link rel="shortcut icon" href="favicon.ico"> </head> <!-- End Standard Head Part --> <body> <!-- Standard Header for NUnit.org --> <div id="header"> <a id="logo" href="http://www.nunit.org"><img src="img/logo.gif" alt="NUnit.org" title="NUnit.org"></a> <div id="nav"> <a href="http://www.nunit.org">NUnit</a> <a class="active" href="index.html">Documentation</a> </div> </div> <!-- End of Header --> <div id="content"> <h2>Assertions</h2> <p>Assertions are central to unit testing in any of the xUnit frameworks, and NUnit is no exception. NUnit provides a rich set of assertions as static methods of the Assert class.</p> <p>If an assertion fails, the method call does not return and an error is reported. If a test contains multiple assertions, any that follow the one that failed will not be executed. For this reason, it's usually best to try for one assertion per test.</p> <p>Each method may be called without a message, with a simple text message or with a message and arguments. In the last case the message is formatted using the provided text and arguments.</p> <h3>Two Models</h3> <p>Before NUnit 2.4, a separate method of the Assert class was used for each different assertion. We call this the "Classic Model." It continues to be supported in NUnit, since many people prefer it.</p> <p>Beginning with NUnit 2.4, a new "Constraint-based" model was introduced. This approach uses a single method of the Assert class for all assertions, passing a <a href="constraintModel.html">Constraint</a> object that specifies the test to be performed. <p>This constraint-based model is now used internally by NUnit for all assertions. The methods of the classic approach have been re-implemented on top of this new model. <!-- <h4>See Also...</h4> <ul> <li> </ul> --> </div> <!-- Submenu --> <div id="subnav"> <ul> <li><a href="index.html">NUnit 2.5.6</a></li> <ul> <li><a href="getStarted.html">Getting Started</a></li> <li id="current"><a href="assertions.html">Assertions</a></li> <ul> <li><a href="equalityAsserts.html">Equality Asserts</a></li> <li><a href="identityAsserts.html">Identity Asserts</a></li> <li><a href="conditionAsserts.html">Condition Asserts</a></li> <li><a href="comparisonAsserts.html">Comparison Asserts</a></li> <li><a href="typeAsserts.html">Type Asserts</a></li> <li><a href="exceptionAsserts.html">Exception Asserts</a></li> <li><a href="utilityAsserts.html">Utility Methods</a></li> <li><a href="stringAssert.html">String Assert</a></li> <li><a href="collectionAssert.html">Collection Assert</a></li> <li><a href="fileAssert.html">File Assert</a></li> <li><a href="directoryAssert.html">Directory Assert</a></li> </ul> <li><a href="constraintModel.html">Constraints</a></li> <li><a href="attributes.html">Attributes</a></li> <li><a href="runningTests.html">Running Tests</a></li> <li><a href="extensibility.html">Extensibility</a></li> <li><a href="releaseNotes.html">Release Notes</a></li> <li><a href="samples.html">Samples</a></li> <li><a href="license.html">License</a></li> </ul> </ul> </div> <!-- End of Submenu --> <!-- Standard Footer for NUnit.org --> <div id="footer"> Copyright © 2009 Charlie Poole. All Rights Reserved. </div> <!-- End of Footer --> </body> </html>