SetUpAttribute (NUnit 2.0)
本属性在一个TestFixture里使用,并提供一组常用的功能,这些功能是在每个测试方法被调用之前来完成的。一个TestFixture可以仅有一个SetUp方法。如果有多个定义,TestFixture也会编译成功,但是测试不会运行。
实例:
namespace NUnit.Tests
{
using System;
using NUnit.Framework;
[TestFixture]
public class SuccessTests
{
[SetUp] public void Init()
{ /* ... */ }
[TearDown] public void Dispose()
{ /* ... */ }
[Test] public void Add()
{ /* ... */ }
}
}
Imports System
Imports Nunit.Framework
Namespace Nunit.Tests
<TestFixture()> Public Class SuccessTests
<SetUp()> Public Sub Init()
' ...
End Sub
<TearDown()> Public Sub Dispose()
' ...
End Sub
<Test()> Public Sub Add()
' ...
End Sub
End Class
End Namespace
#using <Nunit.Framework.dll>
using namespace System;
using namespace NUnit::Framework;
namespace NUnitTests
{
[TestFixture]
public __gc class SuccessTests
{
[SetUp] void Init();
[TearDown] void Dispose();
[Test] void Add();
};
}
#include "cppsample.h"
namespace NUnitTests {
// ...
}
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 Dispose()
{ /* ... */ }
/** @attribute NUnit.Framework.Test() */
public void Add()
{ /* ... */ }
}
SetUp继承
SetUp属性是从任何基类继承而来。因此,如果基类已经定义了一个SetUp方法,那么这个方法会在每个派生的类的测试方法之前调用。如果你打算在派生类里加入更多的SetUp功能,你需要将方法标记为适当的属性,然后调用基类方法。