나는이 같은 싱글 클래스, 뭔가를 :NSubstitute를 사용하여 싱글 톤 클래스를 조롱 할 수 있습니까?
public class XConnector : IXConnector
{
private static readonly Lazy<XConnector> instance =
new Lazy<XConnector>(() => new XConnector());
public static XConnector Instance => instance.Value;
private XConnector()
{
}
public async Task<XConnector> GetData(XConnector con)
{
}
}
가 어떻게 NSubstitute이 클래스를 조롱 할 수 있습니까? 반면에
: 내가 어떤 도움을 환영합니다이 코드를var target = Substitute.For<IXConnector>();
이런 일이 빠른 시계입니다합니다.
그리고 뭐가 문제입니까? 'Substitute.For();'IXConnector'가 인터페이스 인 경우 완벽하게 작동해야합니다 (가정합니다). –
HimBromBeere
Mark Seemann의 Ambient Context 패턴을 사용할 수 있습니다. 이렇게하면 Singleton의 의도를 제공하면서 인스턴스를 삽입 할 수 있습니다. –
@HimBromBeere이 코드를 테스트하고 _target 필드를 보면 null이 표시 될 것입니다. – Coding4Fun