text: <!DOCTYPE html>
  <html lang="en">
  
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
  
    <title>NUnit.org</title>
    <meta name="description" content="NUnit is the most popular unit test framework for .NET.">
  
    <link rel="stylesheet" href="/css/main.css"">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
    <link rel="alternate" type="application/rss+xml" title="NUnit.org" href="/rss.xml"">
    <link rel="alternate" type="application/atom+xml" title="NUnit.org" href="/atom.xml" />
    <link rel="shortcut icon" href="/favicon.ico" />
  
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  
    <body>
  
      <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
      <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="/">
              <div class="navbar-brand grow">
                  <img src="/img/nunit.svg" />
              </div>
          </a>
      </div>
      <div id="navbar" class="collapse navbar-collapse">
          <ul class="nav navbar-nav">
              <li><a href="https://nunit.org/news/"><i class="fa fa-commenting-o"></i> News</a></li>
              <li><a href="https://nunit.org/download/"><i class="fa fa-download"></i> Download</a></li>
              <li><a href="https://docs.nunit.org"><i class="fa fa-book"></i> Documentation</a></li>
              <li><a href="https://nunit.org/contact/"><i class="fa fa-envelope-o"></i> Contact</a></li>
              <li><a href="https://twitter.com/nunit" target="_blank"><i class="fa fa-twitter"></i> Twitter</a></li>
              <li><a href="https://gitter.im/nunit/nunit" target="_blank"><i class="fa fa-comments-o"></i> Gitter</a></li>
              <li><a href="https://github.com/nunit" target="_blank"><i class="fa fa-github"></i> GitHub</a></li>
          </ul>
      </div><!--/.nav-collapse -->
      </div>
  </nav>
  
    <div class="container">
      <div class="content help">
        <div class="notice">Legacy Documentation. View <a href="https://docs.nunit.org">NUnit 3 Documentation</a></div>
        <div id="help_content">
  
  <script language="JavaScript" src="codeFuncs.js" ></script> <!-- Do it this way for IE -->
  
  <h3>SetUpAttribute (NUnit 2.0 / 2.5)</h3>
  
  <p>This attribute is used inside a <a href="testFixture.html">TestFixture</a>  to provide a common set of functions that are performed just before each test method is called.
    It is	also used inside a <a href="setupFixture.html">SetUpFixture</a></b>,
    where it provides the same functionality at the level of a namespace or assembly.
  
  <p><b>Before NUnit 2.5</b>, a class could have only one SetUp method
  	and it was required to be an instance method.
  
  <p><b>Beginning with NUnit 2.5</b>, SetUp methods may be either static or
     instance methods and you may define more than one of them in a fixture.
     Normally, multiple SetUp methods are only defined at different levels
     of an inheritance hierarchy, as explained below.
  
  <p>If a SetUp method fails or throws an exception, the test is not executed
     and a failure or error is reported.
  
  
  <h4>Example:</h4>
  
  <div class="code">
  
  <div class="langFilter">
  	<a href="javascript:Show('DD1')" onmouseover="Show('DD1')"><img src="/docs/img/langFilter.gif" width="14" height="14" alt="Language Filter"></a>
  	<div id="DD1" class="dropdown" style="display: none" onclick="Hide('DD1')">
  		<a href="javascript:ShowCS()">C#</a><br>
  		<a href="javascript:ShowVB()">VB</a><br>
  		<a href="javascript:ShowMC()">C++</a><br>
  		<a href="javascript:ShowJS()">J#</a><br>
  	</div>
  </div>
  
  <pre class="prettyprint cs">namespace NUnit.Tests
  {
    using System;
    using NUnit.Framework;
  
    [TestFixture]
    public class SuccessTests
    {
      [SetUp] public void Init()
      { /* ... */ }
  
      [TearDown] public void Cleanup()
      { /* ... */ }
  
      [Test] public void Add()
      { /* ... */ }
    }
  }
  </pre>
  
  <pre class="prettyprint vb">Imports System
  Imports Nunit.Framework
  
  Namespace Nunit.Tests
  
    &lt;TestFixture()&gt; Public Class SuccessTests
      &lt;SetUp()&gt; Public Sub Init()
      ' ...
      End Sub
  
      &lt;TearDown()&gt; Public Sub Cleanup()
      ' ...
      End Sub
  
      &lt;Test()&gt; Public Sub Add()
      ' ...
      End Sub
    End Class
  End Namespace
  </pre>
  
  <pre class="prettyprint mc">#using &lt;Nunit.Framework.dll&gt;
  using namespace System;
  using namespace NUnit::Framework;
  
  namespace NUnitTests
  {
    [TestFixture]
    public __gc class SuccessTests
    {
      [SetUp] void Init();
      [TearDown] void Cleanup();
  
      [Test] void Add();
    };
  }
  
  #include "cppsample.h"
  
  namespace NUnitTests {
    // ...
  }
  </pre>
  
  <pre class="prettyprint js">package NUnit.Tests;
  
  import System.*;
  import NUnit.Framework.TestFixture;
  
  
  /** @attribute NUnit.Framework.TestFixture() */
  public class SuccessTests
  {
    /** @attribute NUnit.Framework.SetUp() */
    public void Init()
    { /* ... */ }
  
    /** @attribute NUnit.Framework.TearDown() */
    public void Cleanup()
    { /* ... */ }
  
    /** @attribute NUnit.Framework.Test() */
    public void Add()
    { /* ... */ }
  }
  </pre>
  
  </div>
  
  <h3>Inheritance</h3>
  
  <p>The SetUp attribute is inherited from any base class. Therefore, if a base
  	class has defined a SetUp method, that method will be called
  	before each test method in the derived class.
  
  <p>Before NUnit 2.5, you were permitted only one SetUp method. If you wanted to
     have some SetUp functionality in the base class and add more in the derived
     class you needed to call the base class method yourself.
  
  <p>With NUnit 2.5, you can achieve the same result by defining a SetUp method
     in the base class and another in the derived class. NUnit will call base
     class SetUp methods before those in the derived classes.
  
  <p><b>Note:</b> Although it is possible to define multiple SetUp methods
     in the same class, you should rarely do so. Unlike methods defined in
     separate classes in the inheritance hierarchy, the order in which they
     are executed is not guaranteed.
  
  <h4>See also...</h4>
  <ul>
  <li><a href="teardown.html">TearDownAttribute</a><li><a href="fixtureSetup.html">TestFixtureSetUpAttribute</a><li><a href="fixtureTeardown.html">TestFixtureTearDownAttribute</a><li><a href="setupFixture.html">SetUpFixtureAttribute</a></ul>
  
  
  </div>
  
  <!-- Submenu -->
  <div id="subnav">
  <ul>
  <li><a href="docHome.html">NUnit 2.5.9</a></li>
  <ul>
  <li><a href="getStarted.html">Getting&nbsp;Started</a></li>
  <li><a href="assertions.html">Assertions</a></li>
  <li><a href="constraintModel.html">Constraints</a></li>
  <li><a href="attributes.html">Attributes</a></li>
  <ul>
  <li><a href="category.html">Category</a></li>
  <li><a href="combinatorial.html">Combinatorial</a></li>
  <li><a href="culture.html">Culture</a></li>
  <li><a href="datapoint.html">Datapoint(s)</a></li>
  <li><a href="description.html">Description</a></li>
  <li><a href="exception.html">Exception</a></li>
  <li><a href="explicit.html">Explicit</a></li>
  <li><a href="ignore.html">Ignore</a></li>
  <li><a href="maxtime.html">Maxtime</a></li>
  <li><a href="pairwise.html">Pairwise</a></li>
  <li><a href="platform.html">Platform</a></li>
  <li><a href="property.html">Property</a></li>
  <li><a href="random.html">Random</a></li>
  <li><a href="range.html">Range</a></li>
  <li><a href="repeat.html">Repeat</a></li>
  <li><a href="requiredAddin.html">RequiredAddin</a></li>
  <li><a href="requiresMTA.html">Requires&nbsp;MTA</a></li>
  <li><a href="requiresSTA.html">Requires&nbsp;STA</a></li>
  <li><a href="requiresThread.html">Requires&nbsp;Thread</a></li>
  <li><a href="sequential.html">Sequential</a></li>
  <li><a href="setCulture.html">SetCulture</a></li>
  <li><a href="setUICulture.html">SetUICulture</a></li>
  <li id="current"><a href="setup.html">Setup</a></li>
  <li><a href="setupFixture.html">SetupFixture</a></li>
  <li><a href="suite.html">Suite</a></li>
  <li><a href="teardown.html">Teardown</a></li>
  <li><a href="test.html">Test</a></li>
  <li><a href="testCase.html">TestCase</a></li>
  <li><a href="testCaseSource.html">TestCaseSource</a></li>
  <li><a href="testFixture.html">TestFixture</a></li>
  <li><a href="fixtureSetup.html">TestFixtureSetUp</a></li>
  <li><a href="fixtureTeardown.html">TestFixtureTearDown</a></li>
  <li><a href="theory.html">Theory</a></li>
  <li><a href="timeout.html">Timeout</a></li>
  <li><a href="values.html">Values</a></li>
  <li><a href="valueSource.html">ValueSource</a></li>
  </ul>
  <li><a href="runningTests.html">Running&nbsp;Tests</a></li>
  <li><a href="extensibility.html">Extensibility</a></li>
  <li><a href="releaseNotes.html">Release&nbsp;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 -->
  
  
  
      </div>
    </div>
  
    <script src="/js/jquery.min.js"></script>
    <script src="/js/codeFuncs.js"></script>
  
      <footer class="footer">
    <div class="container">
      <div class="row text-muted">
        <div class="col-sm-8">
          NUnit 2 Documentation Copyright &copy; 2014, Charlie Poole. All rights reserved.
        </div>
        <div class="col-sm-4 text-right">
          Supported by the
          <a href="https://dotnetfoundation.org/">.NET Foundation</a>
        </div>
      </div>
    </div>
  </footer>
  
  <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <!-- Include all compiled plugins (below), or include individual files as needed -->
  <script src="/js/bootstrap.min.js"></script>
  
  <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  
    ga('create', 'UA-7904234-12', 'auto');
    ga('send', 'pageview');
  
  </script>
  
    </body>
  </html>
  