К проекту с NUnit тестами была добавлена ссылка на nunit.framework.dll (2.6.2) — она нормально работала с тестами откомпилированными для FW 4.6.2
3. В выходном каталоге сформировались следующие файлы:
lcpi.lib.nets2_0.debug.dll <---- это библиотека, которую надо протестировать
lcpi.lib.nets2_0.debug.pdb
lcpi.lib.ntest.nets2_0.debug.deps.json
lcpi.lib.ntest.nets2_0.debug.dll <----- Это тесты
lcpi.lib.ntest.nets2_0.debug.pdb
nunit.framework.dll
nunit.framework.xml
4. Запускаю nunit.exe (2.6.2) для сборки с тестами и получаю ошибку
---------------------------
NUnit
---------------------------
Test load failed!
System.IO.FileNotFoundException : Не удалось загрузить файл или сборку "netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" либо одну из их зависимостей. Не удается найти указанный файл.
For further information, use the Exception Details menu item.
---------------------------
ОК
---------------------------
Здравствуйте, Коваленко Дмитрий, Вы писали: КД>К проекту с NUnit тестами была добавлена ссылка на nunit.framework.dll (2.6.2) — она нормально работала с тестами откомпилированными для FW 4.6.2 КД>Спасибо.
Здравствуйте, QrystaL, Вы писали:
КД>>К проекту с NUnit тестами была добавлена ссылка на nunit.framework.dll (2.6.2) — она нормально работала с тестами откомпилированными для FW 4.6.2 КД>>Спасибо.
QL>https://github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard QL>
QL>Testing .NET Core or .NET Standard projects requires version 3.8.0 of the NUnit 3 Visual Studio Test Adapter.
Ага, спасибо. Добавил. Теперь вылезло вот это:
[03.11.2017 9:14:39 Error] The operation failed as details for project lcpi.lib.ntest.vs2017s2.0 could not be loaded.
[03.11.2017 9:14:41 Informational] ------ Load Playlist started ------
[03.11.2017 9:14:41 Informational] ========== Load Playlist finished (0:00:00,0025007) ==========
[03.11.2017 9:14:43 Informational] ------ Discover test started ------
[03.11.2017 9:14:44 Informational] NUnit VS Adapter 2.1.1.0 discovering tests is started
[03.11.2017 9:14:44 Warning] Dependent Assembly netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 of D:\Users\Dima\Work\.NET2\lib.net\lib\bin\vs2017_nets2.0_Debug\lcpi.lib.nets2_0.debug.dll not found. Can be ignored if not a NUnit project.
[03.11.2017 9:14:44 Warning] Dependent Assembly netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 of D:\Users\Dima\Work\.NET2\lib.net\ntest\bin\vs2017_nets2.0_Debug\lcpi.lib.ntest.nets2_0.debug.dll not found. Can be ignored if not a NUnit project.
[03.11.2017 9:14:44 Informational] NUnit VS Adapter 2.1.1.0 discovering test is finished
[03.11.2017 9:14:44 Informational] ========== Discover test finished: 0 found (0:00:01,0705979) ==========
1. Разобрал до основания основной тестовый проект
2. Заново подключил к нему Microsoft.NET.Test.Sdk, NUnit, NUnit3TestAdapter
3. Подключил к нему файлы с тестами и ссылку на библиотеку (Net Std v2), которую надо протестировать.
Тесты появились и даже отработали.
Все, кроме тестов для сериализации (похоже она в Net Std v2 не поддерживается). Но с этим буду разбираться потом.
Всем, кто переживал и мысленно меня поддерживал — СПАСИБО!
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Я наискось проскочил тему — но на правах КО и побрюзжать позвольте пожалуйста.
В одном из сообщений ты написал что nunit.exe не помогает. Ну а как поможет, если .net core — это не родной экзешник. Соответственно его всегда нужно запускать через dotnet(.exe). Ну, просто из очевидного. (А запуск как "родного" ессно будет приводить к запуску полного дотнета — конечно если этот экзешник не заглушка. Я тут конечно совсем глупости пишу — т.к. как бы тут Sinix не макал лицом в грязь xunit — но NUnit на мой взгляд на порядок хуже, но чисто вкусовщина. В реальности — я не использую ни то ни другое — беру более простые наброски своего фреймворка и дотачиваю до специфических нужд — повелось так. Там где этого не надо — xunit и вперёд.)
А за ссылки все кто насыпал — спасибо.
PS: А насчёт интеграции в студию — нередко полезно создавать новые проекты и посмотреть "что нынче навертели". В том числе и поэтому я свои кастомные степы всегда пишу в отдельных файлах — потом легче разобраться.
Здравствуйте, Mystic Artifact, Вы писали:
MA>т.к. как бы тут Sinix не макал лицом в грязь xunit — но NUnit на мой взгляд на порядок хуже, но чисто вкусовщина.
Вкусовщина конечно. Ну и у меня предвзятое отношение. Регулярно приходится заставлять всякие штуки работать в неочевидных сценариях.
Вот тут nUnit при всех своих недостатках просто работает, если чего не достаёт можно докрутить, в issues подскажут, на крайний случай — пару запросов пофиксили.
В случае xUnit всё с точностью до наоборот, весь саппорт заключается в рассказах про "вы неправильно пишете тесты" и "вам это не надо". В общем как начался фреймворк с войны со здравым смыслом, так и продолжает.
Re[3]: Как протестировать сборку под .NET Standard v2?
Здравствуйте, Mystic Artifact, Вы писали:
MA>В одном из сообщений ты написал что nunit.exe не помогает. Ну а как поможет, если .net core — это не родной экзешник. Соответственно его всегда нужно запускать через dotnet(.exe). Ну, просто из очевидного.
Вообще не очевидно
c:\Program Files (x86)\dotnet>dotnet.exe "c:\Program Files (x86)\NUnit 2.6.2\bin\nunit-x86.exe"
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'c:\Program Files (x86)\NUnit 2.6.2\bin\'.
Ну да ладно. Пока не до этого.
Я тут освоил:
dotnet test lcpi.data.oledb.ntest.vs2017s2_0.csproj >tests2.log
С наскока не въехал как заставить dotnet самостоятельно создавать лог, поэтому ">tests2.log" и заюзал.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[4]: Как протестировать сборку под .NET Standard v2?
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>С наскока не въехал как заставить dotnet самостоятельно создавать лог, поэтому ">tests2.log" и заюзал.
-l|--logger <LoggerUri/FriendlyName>
+ команды от самих тест-Фреймворков. xUnit вроде в --xml умеет, для nUnit проверять надо.