我在我的项目中使用.net单元测试。我想知道单元测试是否需要项目的UI部分,还是仅需要测试类库。.net单元测试 - 如何做UI单元测试
如果需要用户界面单元测试,我该如何测试功能,如在文本框中输入一些文本,并将这些内容写到网页上点击一个按钮。
在此先感谢。
我在我的项目中使用.net单元测试。我想知道单元测试是否需要项目的UI部分,还是仅需要测试类库。.net单元测试 - 如何做UI单元测试
如果需要用户界面单元测试,我该如何测试功能,如在文本框中输入一些文本,并将这些内容写到网页上点击一个按钮。
在此先感谢。
VS 2010 Premium和Ultimate附带Coded UI tests里面做UI测试
我认为通常的计划是在UI中尽可能少放置代码,将所有内容放入类中并进行单元测试。
可能创建一个影响UI并实际提供按钮点击发生的操作的类将有助于您单元测试尽可能多的功能。
我会看看网页自动化工具,例如Watin或selenium来自动浏览器。
使用Watin,您可以使用.net以编程方式查找页面上的元素,Selenium可以记录和重放。
华廷例如
[Test]
public void SearchForWatiNOnGoogle()
{
using (var browser = new IE("http://www.google.com"))
{
browser.TextField(Find.ByName("q")).TypeText("WatiN");
browser.Button(Find.ByName("btnG")).Click();
Assert.IsTrue(browser.ContainsText("WatiN"));
}
}
它的用户界面。你作为一个用户可以在运行你的项目后的每一个单元测试。
Firebug和Tamper Data是帮助您做到这一点的绝佳工具。
这些是更多的调试工具,而不是单元测试工具。 – StuperUser 2011-03-07 09:59:33
@StuperUser:任何让您更改数据以尝试破解单元的工具也是一种测试工具。测试和调试不是相互排斥的。 – 2011-03-07 10:21:50
当然,它们在手动单元测试中非常有用。 Tamper Data看起来比Firebug更强大。 – StuperUser 2011-03-07 11:25:38
使用Visual Studio 2010,您可以创建编码的UI测试,你还可以配置生成代理执行这些测试:http://codesmartnothard.com/ConfiguringATFS2010TeamBuildServerToRunCodedUITests.aspx
这是正是你要求的,意味着你有一个用户界面,你可以指定应该发生什么和在哪个控件中,如果用户输入一些数据并点击一些按钮......
如果你在ASP.NET中使用任何框架,方法将不起作用,因为Web表单控件使用JavaScript,并且您不会成为ab以测试任何形式的AJAX或定制JavaScript。 – StuperUser 2011-03-07 10:03:17