Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing VSTest.Console.exe和.NET 4.5.2_Unit Testing_Visual Studio 2012_Mstest - Fatal编程技术网

Unit testing VSTest.Console.exe和.NET 4.5.2

Unit testing VSTest.Console.exe和.NET 4.5.2,unit-testing,visual-studio-2012,mstest,Unit Testing,Visual Studio 2012,Mstest,据我所知,在命令行上调用VSTest时,我可以指定.NET framework,但唯一可用的选择是3.5、4.0或4.5。我如何强制vstest使用4.5.2或4.6来解决这个问题 于2016年3月8日编辑: 下面是一个在.NET 4.5.2下通过但在.NET framework早期版本下失败的单元测试示例: [TestMethod] public void MyUnitTest() { // Arrange var originalValue = "\"'#"; var

据我所知,在命令行上调用VSTest时,我可以指定.NET framework,但唯一可用的选择是3.5、4.0或4.5。我如何强制vstest使用4.5.2或4.6来解决这个问题

于2016年3月8日编辑

下面是一个在.NET 4.5.2下通过但在.NET framework早期版本下失败的单元测试示例:

[TestMethod]
public void MyUnitTest()
{
    // Arrange
    var originalValue = "\"'#";
    var expectedValue = "%22'%23";

    // Act
    var encodedValue = Uri.EscapeDataString(originalValue);

    // Assert
    Assert.AreEqual(expectedValue, encodedValue);
}

.NET framework版本之所以重要,是因为URI编码逻辑在.NET 4.5.2中发生了变化,因此能够控制用于运行此单元测试的框架非常重要。

这无关紧要,它只能使用您在计算机上实际安装的framework版本。现在肯定是4.6.1了。也许你有3.5SP1,大多数程序员都安装了它。当你选择4.0时,你得到的唯一区别是一些在4.5中修复的bug不会生效。非常模糊的,主要影响WPF代码。我在我的问题中添加了一个例子来说明为什么能够指定所需的.NET FraskHMYA是非常重要的,这里没有人能帮助您,请考虑在CONT.MICSULT.com上提交一个反馈报告。如果您想要100%的保证,那么您必须在安装了您关心的实际框架版本的机器上运行测试。考虑到4.5.2之前的版本从今年1月12日起不再受支持,这一点很难做到。因此,这在用户的机器上也不会出错,除非他故意选择不更新机器。你知道,当微软不支持这样一个用户时,你是否应该支持这样一个用户。恐怕我不理解你的评论。你说在以前的框架不再受支持的情况下,使用.NET4.5.2运行单元测试很难???也许我的问题不清楚:我想确保4.5.2用于运行我的单元测试,我不想使用框架的早期版本。“/Framework”命令行参数允许指定所需的框架,但4.5.2似乎没有选项。我们的大多数机器都有多个.NET框架,我只是试图确保我们的单元测试使用适当的版本执行。那么,/Framework参数无论如何都没有用。只需检查
Environment.Version
。秘密解码器响了。