Ошибка VsTest NUnit xml.document .NET Core

Я создал тесты NUnit в проекте .NET Core 2.0. Я хочу запустить их как часть выпуска VSTS с помощью VsTest - TestAssemblies. Когда я запускаю этот шаг для своей DLL в VSTS, я получаю следующую ошибку (или, скорее, предупреждения), и никаких тестов не обнаруживается. Та же DLL работает, когда я запускаю VsTest.console.exe на моем локальном компьютере.

2018-01-15T16:40:03.9599708Z Microsoft (R) Test Execution Command Line Tool Version 15.0.26929.2
2018-01-15T16:40:03.9600907Z Copyright (c) Microsoft Corporation.  All rights reserved.
2018-01-15T16:40:03.9602205Z 
2018-01-15T16:40:03.9861859Z vstest.console.exe 
2018-01-15T16:40:03.9862327Z "d:\a\r1\a\AutomationTest\drop\Tests\bin\Release\netcoreapp2.0\SecureApp.dll"
2018-01-15T16:40:03.9862517Z "d:\a\r1\a\drop\Tests\bin\Release\netcoreapp2.0\SecureApp.dll"
2018-01-15T16:40:03.9862856Z /logger:"trx"
2018-01-15T16:40:03.9862945Z /TestAdapterPath:"d:\a\r1\a"
2018-01-15T16:40:07.8106612Z Starting test execution, please wait...
2018-01-15T16:40:20.0035350Z Warning: Error initializing RunSettings. Default settings will be used
2018-01-15T16:40:20.0035696Z 
2018-01-15T16:40:21.4269527Z Warning: System.IO.FileNotFoundException: Could not load file or assembly 'System.Xml.XPath.XmlDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
2018-01-15T16:40:21.4269844Z File name: 'System.Xml.XPath.XmlDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
2018-01-15T16:40:21.4270026Z    at NUnit.VisualStudio.TestAdapter.AdapterSettings.Load(String settingsXml)
2018-01-15T16:40:21.4270199Z    at NUnit.VisualStudio.TestAdapter.AdapterSettings.Load(IDiscoveryContext context) in C:\Users\..\source\repos\nunit\nunit3-vs-adapter\src\NUnitTestAdapter\AdapterSettings.cs:line 168
2018-01-15T16:40:21.4270463Z    at NUnit.VisualStudio.TestAdapter.NUnitTestAdapter.Initialize(IDiscoveryContext context, IMessageLogger messageLogger) in C:\Users\..\source\repos\nunit\nunit3-vs-adapter\src\NUnitTestAdapter\NUnitTestAdapter.cs:line 122
2018-01-15T16:40:21.4270606Z 
2018-01-15T16:40:21.4270754Z WRN: Assembly binding logging is turned OFF.
2018-01-15T16:40:21.4270915Z To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
2018-01-15T16:40:21.4271067Z Note: There is some performance penalty associated with assembly bind failure logging.
2018-01-15T16:40:21.4271212Z To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
2018-01-15T16:40:21.4272472Z 
2018-01-15T16:40:21.4272556Z 
2018-01-15T16:40:21.4272665Z Information: NUnit Adapter 3.9.0.0: Test execution started
2018-01-15T16:40:21.4272742Z 
2018-01-15T16:40:21.4883313Z Warning: Exception System.IO.FileNotFoundException, Exception thrown executing tests
2018-01-15T16:40:21.4883790Z 
2018-01-15T16:40:21.4884316Z Warning: Could not load file or assembly 'System.Xml.XPath.XmlDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
2018-01-15T16:40:21.4884557Z 
2018-01-15T16:40:21.4899528Z Warning:    at NUnit.VisualStudio.TestAdapter.NUnit3TestExecutor.RunAssembly(String assemblyPath, TestFilter filter)
2018-01-15T16:40:21.4900101Z    at NUnit.VisualStudio.TestAdapter.NUnit3TestExecutor.RunTests(IEnumerable`1 sources, IRunContext runContext, IFrameworkHandle frameworkHandle) in C:\Users\..\source\repos\nunit\nunit3-vs-adapter\src\NUnitTestAdapter\NUnit3TestExecutor.cs:line 98
2018-01-15T16:40:21.4900392Z 
2018-01-15T16:40:21.4915162Z Warning: Exception System.IO.FileNotFoundException, Exception thrown executing tests
2018-01-15T16:40:21.4915561Z 
2018-01-15T16:40:21.4915917Z Warning: Could not load file or assembly 'System.Xml.XPath.XmlDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
2018-01-15T16:40:21.4916177Z 
2018-01-15T16:40:21.4916415Z Warning:    at NUnit.VisualStudio.TestAdapter.NUnit3TestExecutor.RunAssembly(String assemblyPath, TestFilter filter)
2018-01-15T16:40:21.4916739Z    at NUnit.VisualStudio.TestAdapter.NUnit3TestExecutor.RunTests(IEnumerable`1 sources, IRunContext runContext, IFrameworkHandle frameworkHandle) in C:\Users\..\source\repos\nunit\nunit3-vs-adapter\src\NUnitTestAdapter\NUnit3TestExecutor.cs:line 98
2018-01-15T16:40:21.4916960Z 
2018-01-15T16:40:21.4917196Z Information: NUnit Adapter 3.9.0.0: Test execution complete
2018-01-15T16:40:21.4917380Z 
2018-01-15T16:40:21.6170092Z Warning: No test is available in d:\a\r1\a\AutomationTest-.NET Desktop-CI\drop\Tests\bin\Release\netcoreapp2.0\SecureApp.dll d:\a\r1\a\drop\Tests\bin\Release\netcoreapp2.0\SecureApp.dll. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
2018-01-15T16:40:21.6171012Z 
2018-01-15T16:40:21.7226473Z 
2018-01-15T16:40:22.3665104Z Information: Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
2018-01-15T16:40:22.3665729Z 
2018-01-15T16:40:22.6599654Z ##[warning]No results found to publish.

Почему xmlDocument.dll обнаружен на моем локальном компьютере, но не на VSTS?

В моей локальной папке также нет XmlDocument.dll.


person Krzysztof Wilczyński    schedule 15.01.2018    source источник
comment
Как вы добавляли тесты nunit для приложения .net core 2.0? Можете ли вы добавить свои проекты в один диск? И, пожалуйста, также проверьте, добавлены ли некоторые ссылки локально в .csproj.   -  person Marina Liu    schedule 16.01.2018
comment
Я добавил его с помощью nuget: Nunit (3.9.0) и NUnit3TestAdapter (3.9.0). в .csproj нет ссылок на эту dll. Кроме того, мне удалось заставить его работать с тестовой задачей dotnet в vsts, но не с vstest. Проблема в том, что для тестовой задачи dotnet я не могу определить dll в качестве входных данных только csproj, что недостаточно хорошо, поскольку я копирую артефакты сборки из другого каталога. Вы случайно не знаете, в чем разница между тестовыми задачами vstest и dotnet в vsts?   -  person Krzysztof Wilczyński    schedule 16.01.2018
comment
Задача тестирования VS также должна создавать тесты nunit для основного приложения .net. И в тесте dotnet нет необходимости указывать dll, поскольку он уже указывает проект.   -  person Marina Liu    schedule 17.01.2018
comment
У меня такая же проблема. Есть решение?   -  person John Hamm    schedule 18.01.2018


Ответы (3)


У меня была та же проблема, и в итоге я отказался от задачи «VsTest - TestAssemblies», поскольку я понял, что есть задача «.NET Core», в которой можно настроить команду для тестирования.

При запуске .NET Core 2.0 это автоматически запустит восстановление и сборку NuGet по мере необходимости. Так что действительно единственная задача, необходимая для запуска всех тестов, написанных в проектах .NET Core.

person Daniel Vistisen    schedule 20.02.2018

У меня была та же проблема, но после добавления в тестовый проект пакета System.Xml.XPath.XDocument NuGet он просто запустился.

person ioan    schedule 27.03.2018

У меня была та же проблема, но после того, как я установил последнюю и стабильную версию System.Xml.XPath.XmlDocument, проблема исчезла.

person maneesha    schedule 18.08.2020