У меня есть сборка, которая ссылается на NUnit и создает один тестовый класс с одним тестовым методом. Я могу получить путь файловой системы к этой сборке (например, "C:...\test.dll"). Я хотел бы программно использовать NUnit для работы с этой сборкой.
Пока у меня есть:
var runner = new SimpleTestRunner();
runner.Load(path);
var result = runner.Run(NullListener.NULL);
Однако вызов runner.Load(path) вызывает исключение FileNotFound. По трассировке стека я вижу, что проблема в том, что NUnit вызывает Assembly.Load(path) вниз по стеку. Если я изменю путь на что-то вроде «Тест, версия = 1.0.0.0, культура = нейтральный, PublicKeyToken = null», я все равно получаю ту же ошибку.
Я добавил обработчик событий в AppDomain.Current.AssemblyResolve, чтобы увидеть, могу ли я вручную разрешить этот тип, но мой обработчик никогда не вызывается.
В чем секрет работы Assembly.Load(...)??