diff --git a/test/Volo.DependencyInjection.Tests/Microsoft/Extensions/DependencyInjection/AbpConventionalDependencyInjectionExtensions_Tests.cs b/test/Volo.DependencyInjection.Tests/Microsoft/Extensions/DependencyInjection/AbpConventionalDependencyInjectionExtensions_Tests.cs index 64c31b9cc5..367757b8f8 100644 --- a/test/Volo.DependencyInjection.Tests/Microsoft/Extensions/DependencyInjection/AbpConventionalDependencyInjectionExtensions_Tests.cs +++ b/test/Volo.DependencyInjection.Tests/Microsoft/Extensions/DependencyInjection/AbpConventionalDependencyInjectionExtensions_Tests.cs @@ -73,7 +73,7 @@ namespace Microsoft.Extensions.DependencyInjection //Assert _services.ShouldContain(typeof(IMyService1), typeof(MyServiceWithExposeList), ServiceLifetime.Transient); _services.ShouldContain(typeof(IMyService2), typeof(MyServiceWithExposeList), ServiceLifetime.Transient); - _services.ShouldNotContain(typeof(MyServiceWithExposeList)); + _services.ShouldNotContainService(typeof(MyServiceWithExposeList)); } [Fact] @@ -130,6 +130,15 @@ namespace Microsoft.Extensions.DependencyInjection instances[0].ShouldBeOfType(typeof(FirstImplOfMyService)); } + [Fact] + public void Should_Not_Register_Classes_Marked_With_DisableConventionalRegistration() + { + _services.AddType(typeof(NonConventionalImplOfMyService)); + + _services.ShouldNotContainService(typeof(IMyService)); + _services.ShouldNotContainService(typeof(NonConventionalImplOfMyService)); + } + [Fact] public void AddObjectAccessor_Test() { @@ -213,6 +222,12 @@ namespace Microsoft.Extensions.DependencyInjection { } + [DisableConventionalRegistration] + public class NonConventionalImplOfMyService : IMyService + { + + } + public class MyEmptyClass { diff --git a/test/Volo.DependencyInjection.Tests/Microsoft/Extensions/DependencyInjection/ServiceCollectionShouldlyExtensions.cs b/test/Volo.DependencyInjection.Tests/Microsoft/Extensions/DependencyInjection/ServiceCollectionShouldlyExtensions.cs index abd075ab9b..c16e38d481 100644 --- a/test/Volo.DependencyInjection.Tests/Microsoft/Extensions/DependencyInjection/ServiceCollectionShouldlyExtensions.cs +++ b/test/Volo.DependencyInjection.Tests/Microsoft/Extensions/DependencyInjection/ServiceCollectionShouldlyExtensions.cs @@ -50,7 +50,7 @@ namespace Microsoft.Extensions.DependencyInjection serviceDescriptor.Lifetime.ShouldBe(lifetime); } - public static void ShouldNotContain(this IServiceCollection services, Type serviceType) + public static void ShouldNotContainService(this IServiceCollection services, Type serviceType) { var serviceDescriptor = services.FirstOrDefault(s => s.ServiceType == serviceType);