IdentityServer3 имеет много методов расширения, которые приятно иметь.Проблема возникает при попытке выполнить модульное тестирование кода, который имеет некоторые из этих вызовов метода расширения IOwinContext, таких как: GetIdentityServerHost (), GetIdentityServerBasePath () и т. Д. Из этого class .
Даже после насмешки HttpContextи будучи в состоянии получить экземпляр OwinContext, я все еще получаю ошибки, потому что, поскольку все является фиктивным, поэтому внутренние зависимости (например, основанные на Autofac) не разрешены.
Ниже приведена ошибка модульного теста:
System.ArgumentNullException : Value cannot be null.
Parameter name: context
at Autofac.ResolutionExtensions.ResolveOptionalService(IComponentContext context, Service service, IEnumerable'1 parameters) in c:\ballen\github\identity\IdSrv3\IdentityServer3\source\Core\Internal\AntiXssLibrary\UnicodeCharacterEncoder.cs:line 0
at IdentityServer3.Core.Extensions.InternalOwinExtensions.ResolveDependency(IOwinContext context, Type type) in c:\ballen\github\identity\IdSrv3\IdentityServer3\source\Core\Extensions\InternalOwinExtensions.cs:line 78
at IdentityServer3.Core.Extensions.InternalOwinExtensions.ResolveDependency[T](IOwinContext context) in c:\ballen\github\identity\IdSrv3\IdentityServer3\source\Core\Extensions\InternalOwinExtensions.cs:line 70
at IdentityServer3.Core.Extensions.OwinEnvironmentExtensions.GetIdentityServerIssuerUri(IDictionary'2 env) in c:\ballen\github\identity\IdSrv3\IdentityServer3\source\Core\Extensions\OwinEnvironmentExtensions.cs:line 672
Кто-нибудь справился с этим, или вы просто пропустили письменный тест для таких классов? - А вот и пули!Я знаю, что пропускать тесты плохо, но я нахожусь на грани отказа от попыток.