我有一个学校作业,我需要创建一个数据驱动的NUnit测试风格。使用下面的代码,我可以从数据库获取数据,但每次'Assert'调用失败时,测试都会停止。C#,NUnit声明在循环中
有没有什么方法可以将循环的结果实际显示为六个不同的测试(考虑到我的数据库中有六行)?
namespace TestClasses
{
[TestFixture]
public class TestingClass : ConnectionClass
{
private ProductManagement pm;
[TestFixtureSetUp]
public void CreateTestClass()
{
pm = new ProductManagement();
}
[TestCase]
public void GetProductDetailsTest()
{
SqlDataAdapter da = new SqlDataAdapter("Select * From GetProductDetailsTest;", Connection);
Database1DataSet.GetProductDetailsTestDataTable dt = new Database1DataSet.GetProductDetailsTestDataTable();
da.Fill(dt);
foreach (Database1DataSet.GetProductDetailsTestRow dr in dt.Rows)
{
if (pm.GetProductById(dr.productId) == null)
Assert.Fail("Id of test case: " + dr.id + ", Product id of failure: " + dr.productId);
}
}
}
}
基本上我在寻找的是,如果可能的话NUnit会显示3个通过测试和3个失败的测试!任何帮助将不胜感激,谢谢! :)
这很酷!它在NUnit 2.5.3中可用,有时间升级! – Jonathan 2011-02-15 14:53:55