1
5
您的主控制器需要有一个匹配的“可注入”构造函数,然后该构造函数将调用基本构造函数。
现在,在测试中,您将使用该构造函数创建家庭控制器,并传递一个模拟会话和用户存储库。说到嘲弄,你可能也对 Scott Hanselman's MvcMockHelpers classes 以及许多流行的模拟框架的代码。 |
2
3
我不明白为什么你有两个构造器。您应该只有一个,去掉不带参数的构造函数。使用像Castle Windsor这样的DI框架,或者我的首选框架,Autopac将为您处理所有这些问题。然后,就测试而言,使用像moq这样的东西。工业工程
在DI框架中注册defaultcontroller、isessionhelper和iuserrepository。沿着这条线的东西:
这样,您就可以从容器中提取defaultcontroller,DI框架将为您注入这两个参数。我总结了一个静态方法来访问我的DI容器,它看起来像:
基本上去自动对焦看看。还有一个为您注册控制器的Web模块。 然后对于测试,只需使用moq,或者找到某种形式的“automocker”(谷歌IT)。我会这样做:
还有EWWW存储库。有.NET和泛型等…只需为自己创造一个美好的职业。
意味着你只需要传递一件事,你可以用它做任何事情。而不是有时不得不在许多存储库中传递。还可以很好地设置工作单元模式。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |