This attribute is used inside a TestFixture to provide a common set of functions that are performed just before each test method is called. A TestFixture can have only one SetUp method. If more than one is defined the TestFixture will compile successfully, but its tests will not run.
Example:namespace NUnit.Tests
{
  using System;
  using NUnit.Framework;
  [TestFixture]
  public class SuccessTests
  {
    [SetUp] public void Init()
    { /* ... */ }
    [TearDown] public void Dispose()
    { /* ... */ }
    [Test] public void Add()
    { /* ... */ }
  }
}
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. If you wish to add more SetUp functionality in a derived class you need to mark the method with the appropriate attribute and then call the base class method.