MSTest没有使用我的项目目标框架

时间:2016-06-30 00:16:20

标签: c# .net visual-studio mstest

我有一个简单的C#UnitTest项目,其中包含一个针对.net 4.5.2

的测试

测试如下:

[TestMethod]
public void TestMethod()
{
  Assert.AreEqual("A © B © C © D ☺ E  F", HttpUtility.HtmlDecode("A © B © C © D ☺ E 𑄑 F"));
}

当我在VS2015中运行测试时,一切都按预期进行。

问题是当我使用MSTest运行测试时。测试因输出

而失败
  

Assert.AreEqual失败。预期:< A©B©C©D☺E F>。   实际:< A©B©C©D☺E𑄑 F>

根据实际输出,它似乎使用的是.net 4,它不是我项目的目标框架。

我正在从

运行mstest.exe
  

C:\ Program Files(x86)\ Microsoft Visual Studio   12.0 \ Common7 \ IDE \ MSTest.exe

我在这里做错了什么,或者我应该使用不同版本的MSTest吗?

编辑:看看MSTest输出,我认为我的逻辑在这里是倒退的。 MSTest正在失败,而Visual Studio则没有。

1 个答案:

答案 0 :(得分:1)

MSTest.exe是deprecated,只能用于VS2010项目的向后兼容性。

您可以使用VSTest.Console.exe运行测试,您将看到在Visual Studio中看到的相同结果。

VSTest.console.exe可在以下位置找到: %VS140COMNTOOLS%\..\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe