【发布时间】:2017-04-28 07:18:28
【问题描述】:
使用 .NET Core 的单元测试功能和 MSTest 框架和适配器,我正在尝试运行这个简单的单元测试:
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace TESTFull
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
Assert.AreEqual(1, 2);
}
}
}
但是,即使有脚手架的依赖项:
<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>
使用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)
请注意,空TestMethod1() 以及使用内置xUnit 项目模板时会发生此错误。我正在使用 .NET Core 1.1。
【问题讨论】:
标签: c# .net unit-testing .net-core xunit