ASP.NET Web API允许内存中的集成测试,其中被测应用程序和测试夹具都在同一个应用程序域中。这使得测试装置可以很容易地修改IOC容器绑定,以便在集成测试期间伪造各种对象。相比之下,ASP.NET MVC的设计并不允许内存中集成测试。Steve Sanderson设计了他的来提供这种功能。但是,框架似乎会导致MVC应用程序在独立于测试夹具的应用程序域中运行。
我试图使用夹具数据运行测试,并获得臭名昭著的IntegrityError: column user_id is not unique错误。现在,看看我的夹具,我可以看到我的用户模型的in在我的夹具之间是独一无二的。我推断冲突与(非测试)数据库中的现有数据发生冲突。这是正确的吗?(编辑:这似乎是不正确的-见下文)
我希望能够准确地控制哪些数据可用于我的测试。是否有一种方法可以防止django测试者从我的实时数据库以及我的夹具数据中加载数据?编辑:切换到使
我刚开始测试.net核心web,并且很难在我的API上测试POST方法。我可以断言返回的ActionResult的类型,但我似乎不知道如何将结果与我正在创建的夹具进行比较。我已经调试了单元测试,并看到CreatedAtAction调用正在返回一个ActionResult。顶层值为null。但是,结果的值有项。return CreatedAtAction(nameof(GetTodoItem), new { id = item.Id }, item);这是我的单元测试}
我正在使用自动