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