需要关于数据驱动测试自动化的建议。
我正在为一个使用C#开发的web应用程序使用MVC神经网络单元进行自动化测试。为此,我们使用Selenium web驱动程序。
作为数据驱动测试的一部分,哪个更适合用于输入测试数据,是xml文件还是sql服务器数据库。
如果我们使用db,那么有一些对象关系映射(NHibernate)来连接db是不是很好。
谢谢
发布于 2012-05-11 12:44:45
data-driven-test-in-nunit-with-csv
Parameterized Tests in NUnit
如何使用
[Test, TestCaseSource("GetTestData")]
public void MyExample_Test(int data1, int data2, int expectedOutput)
{
var methodOutput = MethodUnderTest(data2, data1);
Assert.AreEqual(expectedOutput, methodOutput, string.Format("Method failed for data1: {0}, data2: {1}", data1, data2));
}
private IEnumerable<int[]> GetTestData()
{
while (data.ReadNext()) // Use your custom logic based on Stream to get new data (basically Implement IEnumerator on data class)
yield return new[] { data.Current };
}
其他测试框架
MS Test
XUnit
发布于 2012-05-10 19:00:50
看看哪一个符合你的要求。
如果你有一个很好的ORM,并且你对它很满意,那就使用它。
如果您对XML比较熟悉,那就去做吧。
当它成为一个问题时,考虑一下长时间运行时间。您不是在使用Selenium编写单元测试,而是在编写集成UI测试。因此,它们通常都是在晚上运行,所以运行时间长很少会成为问题。
就我个人而言,在这里,我们使用LINQ2SQL,对于任何数据,我都跳到SQL server DB上,它工作得很好--只要你的查询不是愚蠢的,性能几乎没有影响。
发布于 2012-05-11 05:50:08
我的建议是将测试数据捆绑到单元测试装置本身中。每个测试方法的设置将为测试设置初始状态(数据);teardown将清除它(如果需要)。
试图维护外部数据文件并使其与单元测试代码保持一致是自找麻烦。(YMMV -这是我个人经验的建议。)
https://stackoverflow.com/questions/10531788
复制相似问题