我最近尝试使用 FakeItEasy,但如果不解决许多怪癖,我无法从具体类创建 Fake。
我尝试了以下方法:
public class MyObject {
public MyObject(){}
}
...
MyObject fakeObject = A.Fake<MyObject>();
这导致找不到具有匹配参数异常的构造函数
接下来我尝试了:
public class MyObject {
public MyObject(string temp){}
}
...
MyObject fakeObject = A.Fake<MyObject>(x => x.WithArgumentsForConstructor(() => new MyObject("temp")));
这导致了类似的错误。
最后我尝试了:
public class MyObject {
//public MyObject(){}
}
...
MyObject fakeObject = A.Fake<MyObject>();
这让我最终创造了假货。我很困惑为什么大多数伪造具体类的例子都暗示这比我发现的更容易?为什么使用记录的方法,上面的试验#2,没有工作?
伪造没有记录的具体类是否有一些限制?