我觉得我陷入了这场政治/宗教斗争。从我所做的研究中,我发现很多人非常坚信通过单元测试来进行 UI 测试是愚蠢的,而由一个真实的人来做的事情要好得多。我同意。
然而,似乎高层告诉我对 UI 进行单元测试。(这已经很奇怪了,因为他们之前告诉我我只需要写一个测试计划而不是实际测试)。老实说,我对单元测试不是很熟悉。我正在尝试使用 MOQ,但我找到的所有教程都使用存储库而不是服务,并且我正在围绕服务构建我的 Web 应用程序。
例如,这里是服务的(一部分):
public class ProductService : Service<Product, EntitiesDbContext>
{
...
public Product GetProduct(int id)
{
return All().FirstOrDefault(p => p.ProductId == id);
}
...
}
我的假设是我需要使用 Moq 创建一个新产品,然后有人使用我的模型验证硬编码输入。我不知道该怎么做。
测试 UI 是我的大部分工作,因为该网站严重依赖用户通过表单输入。我再次发现使用单元测试进行测试非常愚蠢,因为我的模型非常严格并且只允许某些输入。
对于我的问题:我将如何使用 MOQ 或其他测试框架来测试表单输入?我听说有一些程序可以跟踪你的行为然后复制它们,但我一直没有找到它们,而且我也相信这样的技术会花钱。