在NUnit下解析System.Uri无效

时间:2014-09-22 07:43:38

标签: c# .net nunit

在ReSharper,GUI-Runner,NUnit-Console

下重现

经过测试:

Win 7 Pro,所有更新,Ru-ru语言环境 - 转载

Win Server 2012,所有更新En-us语言环境 - 转载

试试这个:

[TestFixture(Description = "Uri .ctors under Nunit must work exactly as no under Nunit")]
public class InvalidUriCtorUnderNnit
{
    [Test]
    public void PathsWithDotsMustBeParsedWell()
    {
        const string urlWithDots = "http://host.com/path./";
        Assert.AreEqual(urlWithDots, new Uri(urlWithDots).ToString());
    }
}

预期:

  

Uri没有改变," http://host.com/path./"返回

实际值:

  

裁剪" http://host.com/path/"返回

注意:

  1. 它被破坏了,而裁剪的Uri与所需资源不匹配

  2. 此行为从未在生产中发生,除非在NUNIT运行下,否则无法捕获。

  3. 比较了所有已加载的程序集版本和代码库 - 所有这些都与生产完全匹配

  4. 在此问题上测试了互联网 - 没有

  5. 希望你能重现。

    NUnit版本2.6.2和2.6.3具有相同的行为。

    已将问题发布到https://github.com/nunit/nunit/issues/237

1 个答案:

答案 0 :(得分:3)

来自NUnit的人检查并确认它是.NET 4.5的一个破坏的变化之一,所以如果NUnit将重建为目标版本,那么一切都会好的。 Uri规范化是以前所有版本的.net之类的特征错误,我刚刚遇到它就是我的运气......