2014-09-22 3 views
3

воспроизведено под ReSharper, из GUI-Runner, с NUnit-ConsoleInvalid System.Uri разборе под NUnit

Проверено на:

Win 7 Pro, все обновления, Ru-ру локаль - воспроизведен

Win Server 2012, все обновления En-нам локали - воспроизведен

Попробуйте это:

[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. Проверили Интернет по этому вопросу - ничего

Желания можно воспроизвести.

NUnit версии 2.6.2 и 2.6.3 имеют одинаковое поведение.

выложил нам вопрос к https://github.com/nunit/nunit/issues/237

+1

Можете ли вы объяснить, какое поведение вы видите и что вы ожидали? –

+1

Вместо «http://host.com/path./» он возвращает «http://host.com/path/», у него был улучшенный вопрос –

ответ

3

Ребята из NUnit проверить его и founs, что это один из сломанных изменений .NET 4.5, так что если NUnit будет восстановлен таргетингом этой версии все будет хорошо. Нормализация Uri была особенной ошибкой всех версий .net раньше, и мне повезло, что я только что ее встретил ...

Смежные вопросы