首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET MVC3 UI单元测试

ASP.NET MVC3 UI单元测试
EN

Stack Overflow用户
提问于 2012-05-04 00:25:46
回答 5查看 1K关注 0票数 2

我觉得我被困在了这场政治/宗教斗争中。从我所做的研究中,我发现许多人强烈认为UI测试通过单元测试是愚蠢的,而由实际的人来做要好得多。我同意。

然而,上级似乎已经告诉我要对UI进行单元测试。(这已经很奇怪了,因为他们之前告诉我,我只需要写一个测试计划,而不是实际的测试)。老实说,我对单元测试不是很熟悉。我正在尝试使用MOQ,但我找到的所有教程都使用存储库,而不是服务,而且我正在围绕服务构建我的web应用程序。

以下是一个服务(的一部分)的示例:

代码语言:javascript
复制
public class ProductService : Service<Product, EntitiesDbContext>
    {
        ...
        public Product GetProduct(int id)
        {
            return All().FirstOrDefault(p => p.ProductId == id);
        }
        ...
    }

我的假设是,我需要使用Moq创建一个新产品,然后有人使用我的模型验证硬编码的输入。我不知道该怎么做。

测试UI是我的大部分工作,因为网站在很大程度上依赖于用户通过表单输入。同样,我发现使用单元测试进行测试是非常愚蠢的,因为我的模型非常严格,并且只允许某些输入。

我的问题是:如何使用MOQ或其他测试框架测试表单输入?我听说有一些程序可以跟踪你的行为,然后复制它们,但我一直没有成功地找到它们,我也相信这样的技术需要花钱。

EN

回答 5

Stack Overflow用户

发布于 2012-05-04 00:32:34

尝试使用SeleniumWatin进行UI测试。

票数 2
EN

Stack Overflow用户

发布于 2012-05-04 00:34:11

Visual Studio2010旗舰版有一个叫做Coded UI test的东西。基本上,您在Internet Explorer中记录您的操作,这些操作将转换为C#代码,您可以在其中添加断言,然后在不同的浏览器中重放这些操作。

然而,在数据库支持的web应用程序上进行测试是非常困难的,因为您很难找出哪一行是新添加的行。为了简化问题,您可能希望设置一个示例数据库,在按顺序运行测试套件之前,该数据库将被重置为其初始状态。

看看各种关于如何使用编码的UI测试的TechEd视频。例如,http://www.youtube.com/watch?v=rZ8Q5EJ2bQM

票数 1
EN

Stack Overflow用户

发布于 2012-05-04 00:43:38

您是在测试UI的操作,还是在测试实际的UI。

如果您正在测试操作以及它们发送到视图的数据,那么使用NUnitxUnit等工具并使用MOQRhino Mocks等moq框架进行单元测试将是正确的做法。

如果您正在测试实际的UI( web服务器返回的超文本标记语言),那么使用自动化测试框架(如Selenium )将是合适的工具

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10435474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档