1

我有一个 WebApi,我在其中使用 Windsor Castle 作为 IoC 框架。我正在使用 Owin 库,并创建了一个启动文件来集中 API 的配置。一切都按预期工作。

我在使用 Owin.Testing 库的地方进行了集成测试,并且服务器使用继承真实类的测试启动类启动。Windsor 容器已成功配置为 TestServer。集成测试正在针对正在运行的自托管服务器执行 Web 请求。一切正常。

使用测试服务器时有两件事不起作用:

  • 即使我为 POST 请求传递了无效的 json 主体,控制器的 ModelState 也始终有效。当使用 IIS 托管时,它按预期工作。知道测试服务器有什么问题吗?
  • 我正在使用 VS 测试运行程序,并且 Owin TestServer 在 [ClassInitialize] 方法中进行了初始化。我不想在每次测试后创建新的测试服务器,因为 Windsor 容器初始化非常昂贵。有些测试我需要模拟一些第 3 方服务(通过使用容器的注册方法和起订量)。在每个测试结束时,我想回滚容器中在执行测试范围内完成的所有模拟。有可能以某种方式做到吗?我试图在一个范围内注册但不起作用。

谢谢

4

0 回答 0