【发布时间】:2014-11-21 13:30:19
【问题描述】:
在本地计算机上使用 ReSharper 8.2 和在构建服务器上使用 NUnit 2.6.3 发现有一些测试在 ReSharper 中通过并且在 NUnit 中失败。在本地安装 NUnit 并且结果相同,因此计算机之间没有区别。我的两个同事进行了相同的测试,得到了相同的结果,所以我的电脑似乎没有什么问题。
测试的简化版本:
[Test]
public void Test_UrlQueryString()
{
var urlInput = "http://www.domain.com/page-with-querystring?url=https://www.domain2.com/page%3Fp%3DPEPE";
var uri = new Uri(urlInput);
Assert.AreEqual(urlInput, uri.ToString());
}
[Test]
public void Test_Dot()
{
var urlInput = "http://www.domain.com/page-with-dot.?p=google";
var uri = new Uri(urlInput);
Assert.AreEqual(urlInput, uri.ToString());
}
ReSharper 输出全部为绿色。 NUnit 的输出:
Runtime Environment -
OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1
CLR Version: 4.0.30319.18444 ( Net 4.5 )
ProcessModel: Default DomainUsage: Single
Execution Runtime: net-4.5
...................F.F.........
Tests run: 29, Errors: 0, Failures: 2, Inconclusive: 0, Time: 0.576769973208475 seconds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
Errors and Failures:
1) Test Failure : Test.OrganicTest.Test_Dot
Expected string length 45 but was 44. Strings differ at index 35.
Expected: "http://www.domain.com/page-with-dot.?p=google"
But was: "http://www.domain.com/page-with-dot?p=google"
----------------------------------------------^
2) Test Failure : Test.OrganicTest.Test_UrlQueryString
Expected string length 87 but was 83. Strings differ at index 76.
Expected: "...-with-querystring?url=https://www.domain2.com/page%3Fp%3DPEPE"
But was: "...-with-querystring?url=https://www.domain2.com/page?p=PEPE"
----------------------------------------------------------------^
ReSharper 似乎使用的是相同版本的 NUnit(内置 NUnit 2.6.3)
有谁知道如何解决这个问题?这是 ReSharper 或 NUnit 中的错误吗?
【问题讨论】:
标签: c# .net unit-testing nunit resharper