Unit testing 在测试基于MVC的UI时,有多少测试设置是通用的?
我正在尝试测试一个简单的基于WebForms(asp.net)的UI,并遵循MVP模式使我的UI更易于测试 当我遵循后端算法的TDD方法时,我发现有一些单元测试重构是本着DRY原则进行的(不要重复你自己)。当我尝试使用Rhino Mock将其应用于UI以验证我的交互时,我看到在设置视图或模型期望时控制器测试中有许多共性Unit testing 在测试基于MVC的UI时,有多少测试设置是通用的?,unit-testing,model-view-controller,user-interface,tdd,mvp,Unit Testing,Model View Controller,User Interface,Tdd,Mvp,我正在尝试测试一个简单的基于WebForms(asp.net)的UI,并遵循MVP模式使我的UI更易于测试 当我遵循后端算法的TDD方法时,我发现有一些单元测试重构是本着DRY原则进行的(不要重复你自己)。当我尝试使用Rhino Mock将其应用于UI以验证我的交互时,我看到在设置视图或模型期望时控制器测试中有许多共性 我的问题是:如果有重构的话,您通常会进行到什么程度?我很好奇其他TDER如何测试他们基于MVC/MVP的UI。我使用MVP,在我的测试中,我尝试在标准代码中应用大部分重构。由于测
我的问题是:如果有重构的话,您通常会进行到什么程度?我很好奇其他TDER如何测试他们基于MVC/MVP的UI。我使用MVP,在我的测试中,我尝试在标准代码中应用大部分重构。由于测试不同场景所需的细微变化,它在测试中通常不太有效,但在部分中可能存在共性,如果可能,我会进行整合。随着项目的发展,这确实缓解了需要的变更;就像在标准代码中一样,更改一个位置比更改20个位置更容易。我不会像标准代码那样重构测试。当您将事物重构为公共基类、辅助方法等时,测试开始变得更加模糊。测试本身应该足够清晰 干燥不是一个测试问题
这就是说,有许多管道方面的事情是经常做的,这些应该被抽象掉 我更愿意将单元测试视为纯功能程序,以避免必须测试它们。如果一个操作在两个测试之间足够常见,那么我会针对标准代码库对其进行评估,但即使这样,我也会避免重构测试,因为我倾向于有很多重构测试,特别是对于gui驱动的BL。我使用selenium进行功能测试 我正在使用JUnit测试我的控制器 我将模拟控制器使用的服务或资源,并测试控制器重定向到的URI,等等 在这一点上,我唯一没有真正测试的是视图。但我使用了功能测试来补偿