Environment:
.Net Core 2.0
visual Studio Professional 2017
NUnit3
OpenCover (For code coverage)
ReportGenerator(For code coverage report)
Привет, команда Nunit, Я хорошо знаком с фреймворком MS Test и много работал над этим, но тестировал, насколько подходящим будет фреймворк NUnit, и поэтому хотел сделать небольшой POC вокруг этого. Я создал небольшую библиотеку классов и проект модульного тестирования. Ниже установлен пакет NuGet:
NUnit 3.7.1
Но когда я пытаюсь запустить тестовые примеры из средства запуска консоли, как показано ниже, я получаю исключение: System.Runtime, сборка Version = 4.2.0.0 не найдена.
C:\Users\UN\.nuget\packages\nunit.consolerunner\3.8.0\tools>nunit3-console.exe D:\Code_Trials\BoMLibrary\BomTest\bin\Debug\netcoreapp2.0\BomTest.dll
Детали исключения:
Errors, Failures and Warnings
Invalid : D:\Code_Trials\BoMLibrary\BomTest\bin\Debug\netcoreapp2.0\BomTest.dll
Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
----> Could not load file or assembly 'System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Settings
DisposeRunners: True
WorkDirectory: C:\Users\Smukherjee.nuget\packages\nunit.consolerunner\3.8.0\tools
ImageRuntimeVersion: 4.0.30319
ImageTargetFrameworkName: .NETCoreApp,Version=v2.0
ImageRequiresX86: False
ImageRequiresDefaultAppDomainAssemblyResolver: False
NumberOfTestWorkers: 4
Не уверен, почему так? Независимо от того, что я пытаюсь не пройти через эту ошибку. Более того, когда я пытаюсь установить сборку из Nuget, я даже не нахожу сборку с версией 4.2.0.0.
Пытался установить версию 4.3.0.0 System.Runtime, но безуспешно. Не могли бы вы помочь с этим.
Странная вещь, у меня есть образец проекта модульного тестирования (как часть установки opencover nuget), который нацелен на .Net Framework 4.5 и имеет установленный пакет NUnit2.6.7, и когда я пытаюсь запустить его с помощью консоли NUnit3, он работает как шарм.
Даже установка последней стабильной версии 3.10.1.0 NUnit3 тоже не помогает. Кроме того, это определенно не проблема Opencover, поскольку консоль opencover просто передает запрос на тестовый запуск в консоль NUnit. Таким образом, проблема должна быть связана с NUnit.
Дайте мне знать, если вам понадобится дополнительная информация по этому поводу.
Нашел ответ на это здесь https://github.com/nunit/nunit/issues/2763
NUnit Console
не запускает тесты .NET Core - вместо этого вам нужно использовать тест dotnet. Взгляните на эту страницу:
https://github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard