From 57e8e1cdde5fe118529004899246bf5c7557ae04 Mon Sep 17 00:00:00 2001 From: Egil Hansen Date: Tue, 9 Mar 2021 21:17:34 +0000 Subject: [PATCH] Better exception messages from TestServiceProvider when registering services after first render. Closes #336. --- src/bunit.core/TestServiceProvider.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/bunit.core/TestServiceProvider.cs b/src/bunit.core/TestServiceProvider.cs index e285e7eb5..0b16e1a46 100644 --- a/src/bunit.core/TestServiceProvider.cs +++ b/src/bunit.core/TestServiceProvider.cs @@ -159,7 +159,14 @@ public bool Remove(ServiceDescriptor item) private void CheckInitializedAndThrow() { if (IsProviderInitialized) - throw new InvalidOperationException("Services cannot be added to provider after it has been initialized."); + { + throw new InvalidOperationException( + $"New services/implementations cannot be registered with the " + + $"Services provider in a TestContext, after the first services has been retrieved " + + $"from it using e.g. the GetService or GetRequiredService methods. " + + $"This typically happens when a component is rendered, so make " + + $"sure all services are added before that."); + } } } }