最近FakeItEasyを使用しようとしていましたが、コンクリートクラスからフェイクを作成することはできませんでした。FakeItEasyクラスの偽物を作成する
私は次のことを試してみました:
public class MyObject {
public MyObject(){}
}
...
MyObject fakeObject = A.Fake<MyObject>();
コンストラクタ
次Arguements例外が一致するが見つかりませんでしたをもたらした私が試した:
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を使用してもうまくいかなかったのですか?
文書化されていない具体的なクラスを偽装することにはいくつかの制限がありますか?