我想重复一组单元测试,具有相同的设置夹具(SetUpFixture
),适用于不同的条件。
即。测试集使用相同的文件作为输入。该文件正在设置夹具中设置。我想重复使用不同输入文件的设置夹具的测试。
TextFixture
可能,SetupFixture
则不行。Regex.Replace(before, @"(jquery\d*=[\"']\d*[\"'])", "");
。有解决方法吗?
答案 0 :(得分:1)
您可以做的是生成一些输入文件,并使用文件名作为测试参数:
[TestFixture]
public class MyClass
{
[TestFixtureSetUp]
//[OneTimeSetUp] for NUnit 3
public void FixtureSetUp()
{
PrepareFile("a.txt");
PrepareFile("b.txt");
PrepareFile("c.txt");
}
[TestCase("a.txt")]
[TestCase("b.txt")]
[TestCase("c.txt")]
public void Test(string fileName)
{
var result = YourTestCode(fileName);
Assert.True(result); //whatever you need
}
}
答案 1 :(得分:1)
您可以使用TestFixtureAttribute为每个数据文件构建测试类。移植安东的答案;
[TestFixture("a.txt")]
[TestFixture("b.txt")]
[TestFixture("c.txt")]
public class MyClass
{
string _filename;
public MyClass(string filename)
{
_filename = filename;
}
[TestFixtureSetUp]
//[OneTimeSetUp] for NUnit 3
public void FixtureSetUp()
{
PrepareFile(_filename);
}
[Test()]
public void Test()
{
var result = YourTestCode();
Assert.True(result); //whatever you need
}
}
如果您想以更动态的方式提供TestFixture的数据,请查看TestFixtureSourceAttribute