在我的控制器动作中我正在做:
string a = Url.Action(...);
我正在使用nunit和Moq(和Mvc 2)
如何将调用存根到Url.Action以返回一些字符串?
答案 0 :(得分:2)
你不能模拟没有带Moq的默认构造函数的具体类(我假设Url是UrlHelper
的实例)。你有两个选择:
(1)查看Moles作为替代/补充模拟框架
(2)为实现接口的UrlHelper方法编写一个包装类,然后可以模拟客户端的包装器。
答案 1 :(得分:0)
你做不到。 UrlHeler.Action不是虚拟的,所以你不能用Moq来存根。
但是,您可以在控制器中创建虚拟方法。并在测试中替换/覆盖它的实现。