У нас была очень странная ошибка, когда запуск нашего полного модульного тестового набора с набором новых UnitTests всегда терпел неудачу последний тестовый прогон в новом разделе (с использованием ReSharper и NUnit для проекта Unity3D). Однако запуск нового набора сам по себе будет проходить все тесты.Почему использование NSubstitue.Arg.Any <string> в одной группе единичных тестов приводит к сбою последнего теста в другом наборе
Что было странно, так это то, что изменение наименования неудачных юнит-тестов приведет к тому, что весь набор пройдет как бы случайным образом. Мы удалили мир «_Multiple», и он, похоже, работал до тех пор, пока мы не добавили новый тест, и что он потерпел неудачу, но в нем вообще не было слова «_Multiple». На данный момент я знал, что именование было красной селедкой, а не причиной этой проблемы. Он также был протестирован на нескольких машинах и всегда испытывал такое же поведение.
Мы закончили сужая провал вниз, когда он был запущен с набором модульных тестов, который с помощью Arg.Any на не NSubstitute объект, который в основном управлял
Assert.That(!string.Equals("Desired Value", Arg.Any<string>()));
После того, как мы обнаружили, что это было ясно, что я неправильно использовал функцию Arg.Any().
Вопрос в том, почему изменение имен функций влияет на тесты вообще? И почему бы переименовать все тесты только для того, чтобы быть test1(), test2(), test3() и т. Д., Разрешить все тесты проходить каждый раз, когда более описательное имя не будет?
Рад узнать, что в действительности существует хотя бы некоторый базис за то, что мы видели! Спасибо за информацию! –