小编Dmi*_*nov的帖子

Rhino Mocks存根和模拟只适用于接口?

Rhino Mocks存根和模拟只对接口有用,而不是具体的类吗?我花了很多时间试图让这段代码工作.我没想到存根的pubSubClient总是从类中调用Send方法.该方法有一些依赖项并抛出异常.

[Test]
public void Test01()
{
    PubSubMessage psm = new PubSubMessage(); 
    var pubSubClient = MockRepository.GenerateStub<PubSubClient>();
    pubSubClient.Stub(x => x.Send(psm)).IgnoreArguments().Return(null);
    // actual PubSubClient Send method throws exception
    // the rest of the test is skipped...
}
Run Code Online (Sandbox Code Playgroud)

但是,当我提取界面并使用IPubSubClient运行相同的测试时,它似乎按预期工作.

这是否意味着我必须为我想要使用Rhino模拟/存根的每个类提取接口?或者我在技术上或概念上遗漏了什么?

更新:好的,我似乎弄清楚了我缺少的部分: Rhino Mocks无法拦截对非虚方法的调用.所以,我想我要么使用接口,要么在具体类虚拟上使用每个方法.如果还有其他选择,请纠正我.

.net unit-testing rhino-mocks mocking stubbing

21
推荐指数
1
解决办法
1万
查看次数

类似于T-SQL中变量的数组访问

在我的存储过程中,我有多个类似的变量@V1,@V2... @V20(假设其中20个)来自记录的FETCHED.我如何使用动态SQL使用这些变量作为参数对另一个存储过程进行20次调用?

当然@V[i]语法不正确,但它表达了意图

    fetch next from maincursor into @status, @V1, @V2, ...

    while @i<21
    begin
       -- ??? execute sp_executesql 'SecondSP', '@myParam int', @myParam=@V[i]
       -- or 
       -- ??? execute SecondSP @V[i]
       set @i = @i+1
    end
Run Code Online (Sandbox Code Playgroud)

t-sql

9
推荐指数
2
解决办法
3万
查看次数

将生产服务器从ASP.NET 2升级到ASP.NET 4

我有一个生产服务器(Windows Server 2003 SP2),在IIS6下运行几个ASP.NET 2应用程序.使用ASP.NET MVC 3(Razor)和Entity Framework 4开发了新的应用程序.不应触及旧的应用程序.

显然,需要升级以下组件:

  • .NET框架(与现有的1.0,2.0,3.5SP1一起安装4.0)
  • ASP.NET(与2.0并排安装v.4)

我想保留IIS6以避免意外,但需要为MVC 3路由配置它

在这种情况下哪种安装程序最合适?MS中有太多不同的可用 - 完整,客户端配置文件,网络平台安装程序等:(目标第一是不破坏现有应用程序并将停机时间保持在合理的最低限度.

asp.net iis installer install asp.net-mvc-3

3
推荐指数
1
解决办法
266
查看次数