我有以下简单的测试用例:
var uri = new Uri("http://foo.com/bar%2Fbaz");
Assert.AreEqual("http://foo.com/bar%2Fbaz", uri.AbsoluteUri);
此测试在 .NET 4 上失败,但在 .NET 4.5 上通过,我可以使用 ReSharper 测试运行器进行测试,它提供了一个方便的 CLR 选择菜单。
但是,如果我使用 nunit 控制台运行程序运行此测试,如下所示:
nunit-console.exe /framework:4.5 "C:\Data\Projects\UriTest\bin\Debug\UriTest.dll"
我的测试失败了。我什至修改了 nunit-console.exe.config 并添加了这个:
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
添加这个之后,我开始从跑步者那里得到这个输出:
Runtime Environment -
OS Version: Microsoft Windows NT 6.2.9200.0
CLR Version: 4.0.30319.34209 ( Net 4.5 )
ProcessModel: Default DomainUsage: Single
Execution Runtime: v4.5
但我的测试仍然失败。知道为什么会这样吗?