を得ました。 SetUp()で使用されているオーバーリッドメソッドを使用して、ベースクラスを抽出してみます。 parametrised TestFixtureを使用 すべての派生クラスがoverriten OnSetUp(で調製したオブジェクトと、基本クラスからテストを実行する)
[TestFixture]
public class BaseTestsClass
{
//some public/protected fields to be set in SetUp and OnSetUp
[SetUp]
public void SetUp()
{
//basic SetUp method
OnSetUp();
}
public virtual void OnSetUp()
{
}
[Test]
public void SomeTestCase()
{
//...
}
[Test]
public void SomeOtherTestCase()
{
//...
}
}
[TestFixture]
public class TestClassWithSpecificSetUp : BaseTestsClass
{
public virtual void OnSetUp()
{
//setup some fields
}
}
[TestFixture]
public class OtherTestClassWithSpecificSetUp : BaseTestsClass
{
public virtual void OnSetUp()
{
//setup some fields
}
}
も有用であり得ます。クラス内のテストはTestFixture、SetUpメソッドごとにランチされます。 しかし、(あなたが発見したとして)
パラメータ化された器具を使用すると、属性のみ
で許可されている引数を使用することができるという事実によって制限されていることを覚えておいてください
使用法:
[TestFixture("some param", 123)]
[TestFixture("another param", 456)]
public class SomeTestsClass
{
private readonly string _firstParam;
private readonly int _secondParam;
public WhenNoFunctionCodeExpected(string firstParam, int secondParam)
{
_firstParam = firstParam;
_secondParam = secondParam;
}
[Test]
public void SomeTestCase()
{
...
}
}
限り私が知っているように、 '[Setup]'メソッドで引数を使うことはできません。ただし、* NUnit * [action attributes](http://nunit.com/index.php?p=actionAttributes&r=2.6.2)のメリットがありますか? –
NUnitテストランナーは、 'SetUp'メソッドに引数を渡しません。何のためにそれが必要ですか? –