We use a third party library to communicate with their server software, which we can’t modify. Calls to the library can fail, by throwing exceptions similar to the following:
class LibraryException : Exception {
internal LibraryException() {};
string ExceptionDetails {public get; internal set; }
}
Depending on the contents of ‘ExceptionDetails’, our calling code has to perform different actions (some errors are fatal, others are not), and I would like to test this code. The problem I have is that because ‘LibraryException’ has an internal constructor, I can’t find a way of creating one. I’ve tried new’ing one up, deriving a child class and using Activator.CreateInstance. Is there any way of working around this?
I’ve thought about changing the build, so that for a subset of tests it would link in a different binary, but this seems like it would be a maintenance nightmare, so at the moment the area is only covered by integration tests.
Any suggestions?
it should work with
Activator.CreateInstancewhen using the overload that acceptsBindingFlags: