0

我们通过在 Unity 中基于 Per-Web-Request 拥有相同的实例来处理 EF 上下文问题。

这很完美,但我们现在引入了 SpecFlow 来编写 BDD 规范。

我们的大部分 SpecFlow 步骤直接进入控制器,因此我们希望模拟控制器在 IIS 世界上运行时会发现的相同环境。

如何才能做到这一点?

我们得到的最接近的方法是在 SpecFlow 的 BeforeStep 上创建一个子 Unity 容器,但这并不一定意味着每个控制器调用都会有不同的上下文实例(例如当您实际通过 IIS 发出 HTTP 请求时)。我们确实需要在控制器上模拟 HTTP 调用环境,否则规范可能无法捕捉到生产代码中的问题。

谢谢。

4

1 回答 1

0

尝试 HttpSImulator,可能会有所帮助。(http://www.nuget.org/packages/HttpSimulator/

于 2013-07-24T11:39:22.540 回答