简体   繁体   English

System.Xml.XmlException与dotnet测试一起发生

[英]System.Xml.XmlException occurs with dotnet test

Using .NET Core's unit testing functionality and the MSTest Framework and Adapter, I am trying to run this simple unit test: 使用.NET Core的单元测试功能以及MSTest框架和适配器,我试图运行此简单的单元测试:

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace TESTFull
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
            Assert.AreEqual(1, 2);
        }
    }
}

However even with the scaffolded dependencies: 然而,即使有了脚手架的依赖关系:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
    <PackageReference Include="MSTest.TestAdapter" Version="1.1.11" />
    <PackageReference Include="MSTest.TestFramework" Version="1.1.11" />
  </ItemGroup>
</Project>

I get this following error when using the dotnet test command: 使用dotnet test命令时出现以下错误:

Test run for F:\Onedrive\Uni\2-1\Dev Project 1 - Tools & Practices\RESTFull\TESTFull\bin\Debug\netcoreapp1.1\TESTFull.dll(.NETCoreApp,Version=v1.1)
Microsoft (R) Test Execution Command Line Tool Version 15.0.0.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...

Unhandled Exception: System.Xml.XmlException: An error occurred while parsing EntityName. Line 1, position 44.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, Int32 lineNo, Int32 linePos)
   at System.Xml.XmlTextReaderImpl.HandleEntityReference(Boolean isInAttributeValue, EntityExpandType expandType, Int32& charRefEndPos)
   at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
   at System.Xml.XmlTextReaderImpl.FinishPartialValue()
   at System.Xml.XmlTextReaderImpl.get_Value()
   at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
   at System.Xml.XmlLoader.ParsePartialContent(XmlNode parentNode, String innerxmltext, XmlNodeType nt)
   at System.Xml.XmlLoader.LoadInnerXmlElement(XmlElement node, String innerxmltext)
   at System.Xml.XmlElement.set_InnerXml(String value)
   at Microsoft.VisualStudio.TestPlatform.Utilities.XmlUtilities.AppendOrModifyChild(XPathNavigator parentNavigator, String nodeXPath, String nodeName, String innerXml)
   at Microsoft.VisualStudio.TestPlatform.Utilities.InferRunSettingsHelper.UpdateRunConfiguration(XPathNavigator navigator, Architecture effectivePlatform, Framework effectiveFramework, String resultsDirectory)
   at Microsoft.VisualStudio.TestPlatform.Utilities.InferRunSettingsHelper.UpdateRunSettingsWithUserProvidedSwitches(XPathNavigator runSettingsNavigator, Architecture architecture, Framework framework, String resultsDirectory)
   at Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.Utilities.RunSettingsUtilities.GetEffectiveRunSettings(String runSettings, CommandLineOptions commandLineOptions)
   at Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.Utilities.RunSettingsUtilities.GetRunSettings(IRunSettingsProvider runSettingsProvider, CommandLineOptions commandlineOptions)
   at Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.RunTestsArgumentExecutor.RunTests(IEnumerable`1 sources)
   at Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.RunTestsArgumentExecutor.Execute()
   at Microsoft.VisualStudio.TestPlatform.CommandLine.Executor.ExecuteArgumentProcessor(IArgumentProcessor processor, Int32& exitCode)
   at Microsoft.VisualStudio.TestPlatform.CommandLine.Executor.Execute(String[] args)
   at Microsoft.VisualStudio.TestPlatform.CommandLine.Program.Main(String[] args)

Note that this error occurs with an empty TestMethod1() and also when using the built in xUnit project template. 请注意,使用空的TestMethod1()以及使用内置的xUnit项目模板时,也会发生此错误。 I am using .NET Core 1.1. 我正在使用.NET Core 1.1。

I couldn't reproduce this issue either using MSTest Or XUnit . 或者使用我不能重现这个问题MSTest还是XUnit The possible area to look at would be the Versions of PackageReference especially MSTest and XUnit . 存在可能区域看将是VersionsPackageReference尤其是MSTestXUnit Look up your version in Nuget and verify the version of .net standard it support. Nuget查找您的版本,并验证其支持的.net标准版本。

The problem is your file path. 问题是您的文件路径。 At present, dotnet test cannot handle a file path that has an ampersand (ie, the & character) in it. 目前, dotnet test无法处理其中包含与号(即&字符)的文件路径。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM