VS编码的UI - 实际单元测试

时间:2012-03-15 17:29:54

标签: c# asp.net unit-testing coded-ui-tests

我是C#和UI开发人员,我有兴趣在VS CodedUI中为ASP.NET Web应用程序编写单元测试。我所看到的大部分用法都是集成测试,因为您编写的测试指向实际网页,运行一些步骤并测试输出。我想要更小,更精细的东西,这对于开发人员来说非常简单(读:lazy:P)来编写。

我目前的设置如下:

  • Web应用程序,包含页面,控件,javascript等。
  • 网络应用程序还包含测试页面 - 标记中包含单个用户控件的页面,以及代码隐藏中的一些硬编码数据。
  • 启动测试页面的CodedUI项目,运行测试并断言输出。

这是一个不错的开始,但我希望改进它。

(第一个......)问题是测试数据和测试步骤分别位于Web应用程序和codedUI项目的不同位置。在常规开发人员单元测试中,您编写用于设置数据的代码,然后执行其他所有操作,并且您需要的所有内容都位于一个位置。通过我的设置,查看测试失败的人必须知道测试和正在测试的页面。

我有一些想法,以及为什么他们吮吸:

  1. 将测试页放在codedUI项目中。出于某些原因,这是一个问题。用户控件不容易测试,是我的停止点,但我相信还有很多其他控件。
  2. 将查询字符串传递给提供数据的测试页。这不是一个可怕的想法,但它很快就会变得笨拙。
  3. 传入一个公共类,由包含测试数据的测试页面加载。这要求测试页面引用测试项目,这是不好的。
  4. 在codedUI测试中动态编写和编译测试页。我甚至不想从这开始。

1 个答案:

答案 0 :(得分:0)

我想你在谈论用外部数据对你的网页进行单元测试。使用CUIT,您可以使用data driven CUIT