Asp.net 如何测试出现在不同页面上的两个数字?

Asp.net 如何测试出现在不同页面上的两个数字?,asp.net,testing,stored-procedures,Asp.net,Testing,Stored Procedures,有一个存储过程,它生成一个数字,比如说50,它被呈现为一个以数字为文本的锚点。当用户单击该号码时,将打开一个弹出窗口并调用另一个存储过程,并在html表中显示50行。这50行是用户单击的数字的分解。总之,两个不同的aspx页面和两个不同的存储过程需要显示相同的数量,一个数量是聚合,另一个是聚合的分解 问题,我如何测试这段代码,以便知道如果数字不匹配,则在某个地方会出现错误 注意:这是一个简化的示例,实际上页面上有100个锚定标记。为了测试数字不匹配时会发生什么,我只需更改(临时)一个存储过程以返

有一个存储过程,它生成一个数字,比如说50,它被呈现为一个以数字为文本的锚点。当用户单击该号码时,将打开一个弹出窗口并调用另一个存储过程,并在html表中显示50行。这50行是用户单击的数字的分解。总之,两个不同的aspx页面和两个不同的存储过程需要显示相同的数量,一个数量是聚合,另一个是聚合的分解

问题,我如何测试这段代码,以便知道如果数字不匹配,则在某个地方会出现错误


注意:这是一个简化的示例,实际上页面上有100个锚定标记。

为了测试数字不匹配时会发生什么,我只需更改(临时)一个存储过程以返回正确的数量+1,或始终返回零,等等。

这种测试不属于标准/代码级测试范式。在这里,您要显式地验证数据,听起来您需要一个实用程序来实现这一点

有很多环境和方法可以做到这一点,但这里有两个可能的候选者

  • SQLManagementStudio:在这里,您可以生成一个简单的脚本,该脚本可以通过两个存储过程的各种组合来运行,以确保数量和行匹配。这将涉及一些创造性的T-SQL,但没有什么特别的负担。这种方法的主要优点是您可以通过裸机访问数据

  • 单元测试:如前所述,您的问题在某种程度上超出了典型的测试场景,在该场景中,您将模拟数据并测试到您的业务逻辑中。但是,这并不意味着您不能编写测试(特别是如果您在此处理之前正在执行任何数据集操作。请检查此操作以及各种方法(注意:如果您使用的是VS2008或更高版本,则您可以从专业版本中获得内置的测试项目)


取决于测试的类型。您可以单独测试存储过程。您可以测试数据检索例程(其难度取决于您的数据例程的抽象程度,即IRepository使这变得容易)。渲染行,好吧,这依赖于浏览器。有客户端测试套件可以测试整个过程(我相信有一个叫做Want It,但10分钟的谷歌搜索没有产生效果)但这是一个我没有经验的领域。HTH@SeanCocteau-我只使用ado数据表。我需要比较这两个值,我不知道在哪里进行比较。我对测试呈现的输出不感兴趣,因为我是两个数据表中的数据行数。所有业务逻辑都存在于存储过程中,我的DAL和BLL层只需返回n将已填充的ADO DataTable对象添加到databindable控件。我想这意味着第一个项目符号就是要走的路。单元测试似乎不足以处理此类测试(其中输入参数的值需要来自数据库表).您是否同意?从广义上讲,单元测试的原则可能不适用于这里。也就是说,测试项目仍然提供了一个适合测试的充分的开发/编译环境,因此您没有主要原因不能从那里调用SP+这是一个比普通的ol稍好的编码环境d T-SQL,但那只是我。嗯