次の簡単なテストケースがあります。
var uri = new Uri("http://foo.com/bar%2Fbaz");
Assert.AreEqual("http://foo.com/bar%2Fbaz", uri.AbsoluteUri);
このテストは .NET 4 では失敗しますが、.NET 4.5 では成功します。これは、便利な CLR 選択メニューを提供する ReSharper テスト ランナーを使用してテストできます。
しかし、次のように 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
しかし、それでも私のテストは失敗します。なぜこれが起こるのか分かりますか?