Skip to content

Commit 5dbaea4

Browse files
committed
Adding unit test for assembly load failures
1 parent 4259878 commit 5dbaea4

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

test/ScriptCs.Hosting.Tests/RuntimeServicesTests.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,19 @@ public void ShouldRegisterTheOverriddenAssemblyResolverInstance()
229229
_overrides[typeof(IAssemblyResolver)] = mock.Object;
230230
_runtimeServices.Container.Resolve<IAssemblyResolver>().ShouldEqual(mock.Object);
231231
}
232+
233+
[Fact]
234+
public void ShouldLogAWarningOnAnAssemblyLoadFailure()
235+
{
236+
var mock = new Mock<IAssemblyResolver>();
237+
mock.Setup(a => a.GetAssemblyPaths(It.IsAny<string>())).Returns(new[] {"foo.dll"});
238+
_overrides[typeof (IAssemblyResolver)] = mock.Object;
239+
var initializationServices = new InitializationServices(_mockLogger.Object, _overrides);
240+
var runtimeServices = new RuntimeServices(_mockLogger.Object, _overrides, new List<Type>(), _mockConsole.Object, _scriptEngineType, _scriptExecutorType, true, initializationServices, "script.csx");
241+
var container = runtimeServices.Container;
242+
_mockLogger.Verify(l=>l.DebugFormat("Failure loading assembly: {0}. Exception: {1}", "foo.dll", "Could not load file or assembly 'foo.dll' or one of its dependencies. The system cannot find the file specified."));
243+
_mockLogger.Verify(l=>l.Warn("Some assemblies failed to load. Launch with '-loglevel debug' to see the details"));
244+
}
232245
}
233246
}
234247
}

0 commit comments

Comments
 (0)