Есть ли способ получить поддельные объекты, которые были вставлены в поддельный класс?
E.g.
Скажем, у меня есть следующий интерфейс + класс;
public interface IFakeable
{
void FakeYou();
}
public class SomeClass
{
private readonly IFakeable _fake;
public SomeClass(IFakeable fake)
{
_fake = fake;
}
public void FakeCall()
{
_fake.FakeYou();
}
}
И хотел проверить что-то вроде следующего:
[TestFixture]
public class SomeClassTests
{
[Test]
public void FakeCall_CallsIFakeabl_FakeYou()
{
var subject = A.Fake<SomeClass>();
subject.FakeCall();
A.CallTo(() => A.Fake<IFakeable>().FakeYou()).MustHaveHappened();
}
}
Возможно ли это без раскрытия поля SomeClass._fake
?
Могу ли я где-нибудь указать, чтобы использовать синглтоны для подделок?