FluentAssertions выдает ArgumentOutOfRangeException при сбое подтверждения (возможно, связанного с NCrunch) - PullRequest
0 голосов
/ 01 мая 2018

Я использую FluentAssertions 5.3.0, запускаемый под NCrunch 3.14.0.1. При сбое теста я часто видел эту ошибку, когда FluentAssertions пытается сгенерировать отчетное сообщение ...

System.ArgumentOutOfRangeException: startIndex не может быть больше чем длина строки Имя параметра: startIndex в System.String.Substring (IntIn startIndex, Int32 длина) в FluentAssertions.CallerIdentifier.ExtractVariableNameFrom (StackFrame кадр) в FluentAssertions.CallerIdentifier.DetermineCallerIdentity () в FluentAssertions.Execution.AssertionScope.GetIdentifier () в FluentAssertions.Execution.AssertionScope.FailWith (Строковое сообщение, Object [] args) в FluentAssertions.Numeric.NumericAssertions`1.Be (T ожидается, String потому что, Object [] потому что Args) в TableTests.ConsolidatedMovementsTester.AlternativingMovementStatesAreRecognised () в ... test.cs

Ошибка является спорадической - часто она исчезает при повторном запуске теста (в этом случае отображается соответствующий отчет об ошибке). Я видел это в последних двух версиях FluentAssertions и NCrunch, и он появляется на нескольких компьютерах (все работают под управлением Visual Studio 2017 Professional).

Вот пример последнего звонка, чтобы укусить меня ...

results.Count(c => c.IsStationary).Should().Be(5);

, где результаты - это неизменяемый массив POCOs

В этом случае, щелкнув правой кнопкой мыши по провалившемуся тесту и выбрав «перезапустить в новом тестовом прогоне» в окне ncrunch, тест перезапустился и FA выдал правильный отчет.

Может кто-нибудь предложить обходной путь для этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...