Stavo tentando di utilizzare FakeItEasy di recente, ma non ero in grado di creare un falso da una classe concreta senza lavorare intorno a molte stranezze.FakeItEasy crea un falso di una classe
ho provato la seguente:
public class MyObject {
public MyObject(){}
}
...
MyObject fakeObject = A.Fake<MyObject>();
che ha provocato l'un costruttore non trovato con l'accoppiamento arguements eccezione
Poi ho provato:
public class MyObject {
public MyObject(string temp){}
}
...
MyObject fakeObject = A.Fake<MyObject>(x => x.WithArgumentsForConstructor(() => new MyObject("temp")));
che ha provocato un errore simile.
Infine ho provato:
public class MyObject {
//public MyObject(){}
}
...
MyObject fakeObject = A.Fake<MyObject>();
che mi ha permesso di creare, infine, il falso. Sono confuso sul motivo per cui la maggior parte degli esempi di falsificazione di una lezione di cemento alludono a questo è più facile che ho trovato che sia? E perché usare il metodo documentato, la prova n. 2 sopra, non ha funzionato?
Esistono alcune limitazioni per simulare una classe concreta che non è documentata?