У меня был вспомогательный класс stati c, который вызывал:
Assembly.GetManifestResourceStream(manifestResource);
При написании модульных тестов для этого я изменил его на службу и вставил интерфейс Assembly в:
private readonly _Assembly _assembly;
public Service( _Assembly assembly)
{
_assembly = assembly;
}
Это было сделано, чтобы я мог правильно имитировать GetManifestResourceStream
private readonly Mock<_Assembly> _mockAssembly;
var stream = new MemoryStream(new byte[32]);
_mockAssembly.Setup(x => x.GetManifestResourceStream(It.IsAny<string>())).Returns(stream);
Это работает, но теперь у меня возникают проблемы с AutoFa c, регистрирующим _Assembly и получением ошибки :
"nCannot разрешить параметр 'System.Runtime.InteropServices._Assembly assembly' конструктора 'Void"
Это имеет смысл, но я надеюсь найти способ обойти это, правильно ли ввести _Assembly, как я? следует ли мне превратить класс GetManifestResourceStream обратно в вспомогательный файл stati c - если да, то как я могу go насчет имитации модуля GetManifestResourceStream.
Спасибо