Skip to content

Instantly share code, notes, and snippets.

@memark
Last active May 10, 2018 06:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save memark/e7947dfa0270c8cca2e34db3e60a2fa0 to your computer and use it in GitHub Desktop.
Save memark/e7947dfa0270c8cca2e34db3e60a2fa0 to your computer and use it in GitHub Desktop.
private static void RegisterBusinessLogicStubs(ContainerBuilder containerBuilder)
{
var tempContainerBuilder = new ContainerBuilder();
var module = BusinessLogicAutofacModule.CreateWithoutDatabaseDefaults(default, default, default, default, default, default, default, default);
containerBuilder.RegisterModule(module);
var tempContainer = tempContainerBuilder.Build();
var interfaceToStubList = tempContainer.ComponentRegistry.Registrations
.SelectMany(x => x.Services)
.OfType<IServiceWithType>()
.Select(x => x.ServiceType)
.Where(x => x.IsInterface);
var stubList = interfaceToStubList.Select(x => Substitute.For(new[] { x }, new object[] { }));
foreach (var s in stubList)
containerBuilder.RegisterInstance(s).AsImplementedInterfaces();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment