C# 创建没有构造函数调用的mock

C# 创建没有构造函数调用的mock,c#,rhino-mocks,C#,Rhino Mocks,在RhinoMocks中,是否可以在不调用it构造函数的情况下创建模拟对象 public class A { public A() { throw new InvalidOperationException("Mock me!"); } } [Test] public void TestCtors() { MockRepository mocks = new

RhinoMocks中,是否可以在不调用it构造函数的情况下创建模拟对象

    public class A
    {
        public A()
        {
            throw new InvalidOperationException("Mock me!");
        }
    } 

    [Test]
    public void TestCtors()
    {
        MockRepository mocks = new MockRepository();
        A a = (A)mocks.StrictMock(typeof(A));
        Assert.IsTrue(true, "Should be eligible");
    }

如果你在嘲笑一个具体的类,我不认为有办法解决这个问题。若您可以在接口中进行模拟,那个么显然不会调用构造函数。有没有可能重新编写代码,以便
实现一个可以模拟的
和接口?

如果要模拟一个具体的类,我认为没有办法解决这个问题。若您可以在接口中进行模拟,那个么显然不会调用构造函数。是否可以重新编写代码,以便
A
实现一个可以模拟的接口?

不,我不能/wan不能更改我的源代码。我想知道为什么构造函数正在执行?在EasyMock中,它不是!我对EasyMock不熟悉,但如果这对你有用,也许你可以用它来代替?c'tor在这里启动是因为Rhino Mocks创建了一个从您的类派生的实例——请参阅EasyMock is for Java末尾的注释。谢谢你。啊,这就是我从未听说过它的原因:-)对不起!不,我不能/不想更改我的源代码。我想知道为什么构造函数正在执行?在EasyMock中,它不是!我对EasyMock不熟悉,但如果这对你有用,也许你可以用它来代替?c'tor在这里启动是因为Rhino Mocks创建了一个从您的类派生的实例——请参阅EasyMock is for Java末尾的注释。谢谢你。啊,这就是我从未听说过它的原因:-)对不起!你为什么需要这个?构造函数的目标是将类成员初始化为可用状态。为什么要跳过这个?但我想模拟类,所以不需要初始化它的成员。例如,EasyMock不调用ctor.Rhino.Mocks不能像@Steve Haigh解释的那样这样做。你可能想看看Telerik的JustMock。我认为它允许在创建模拟时跳过默认/基本构造函数。为什么需要这个?构造函数的目标是将类成员初始化为可用状态。为什么要跳过这个?但我想模拟类,所以不需要初始化它的成员。例如,EasyMock不调用ctor.Rhino.Mocks不能像@Steve Haigh解释的那样这样做。你可能想看看Telerik的JustMock。我认为它允许在创建模拟时跳过默认/基本构造函数。