Как исправить 'nunit-console - System.IO.DirectoryNotFoundException: не удалось найти часть пути' - PullRequest
0 голосов
/ 09 января 2019

Мне нужно использовать nunit3-console v3.9.0 на Windows 7 для запуска NUnit тестов . Проблема в том, что в наших тестах используются константы с относительными путями (.. \ Testing.TestingUtils \ Resources \ etc.), И они терпят неудачу. Это происходит потому, что когда вы запускаете консоль, она берет путь по умолчанию из своего местоположения (C: \ Program Files (x86) \ NUnit.org \ nunit-console) и относительные пути больше не являются правильными.

Та же проблема возникла при попытке запустить тесты NUnit с VS2017 с NUnit 3.11.0 (последняя версия). Это работало с предыдущей версией NUnit 2.6 (я знаю, что она старая, но это то, что мы использовали).

Мне нужно найти способ, как я могу указать «путь по умолчанию» консоли, который будет общим для проектов, поэтому относительные пути приведут к тому же каталогу, что и в тестах.

Я нашел решение, чтобы тесты могли выполняться в VS2017, но это не будет работать с нашей Непрерывной интеграцией, которая использует nunit-console 3.9, и они не пройдут. Решение было использовать:

Path.Combine (TestContext.CurrentContext.TestDirectory + SomeConstantForSpecificDirectory)

Я также пытался открыть Командную строку разработчика и перейти к папке NUnit Tests и оттуда запустить консоль и выполнить тесты, но это не сработало:

"C: \ Program Files (x86) \ NUnit.org \ nunit-console \ nunit3-console.exe" ' DirectoryPath ' .dll

Я нашел две опции для nunit-console, которые могут быть полезны, но я не уверен, правда ли это и как их применять:

ShadowCopy Указывает .NET копировать загруженные сборки в каталог shadowcopy. (этот был изменен, чтобы быть отключенным по умолчанию от v3 https://github.com/nunit/nunit/issues/521)

Траектория
Путь к исполнителю консоли NUnit3: nunit3-console.exe

Я уже пытался найти ответ в других темах, но ни у одного из них не было той же проблемы, что и у меня, или не было решения, которое мне нужно.

Есть ли кто-нибудь, кто сталкивался с подобными проблемами или просто может потратить некоторое время, чтобы помочь мне решить эту проблему?

...