организовать директивы использования, повторно выполнить тесты?

Прежде, чем сделать фиксацию, я предпочитаю выполнять всю сотню чего-то модульные тесты в моем Решении C#, так как они только берут пару минут для выполнения. Однако, если я уже выполнил их всех, все хорошо, и затем я решаю организовать using директивы в моем Решении, действительно необходимо повторно выполнить модульные тесты? У меня есть макрос, который проходит все файлы в Решении и выполняет команду 'Remove and Sort' Visual Studio на каждом. В моем понимании, пока все проекты все еще создают после using директивы переезжаются, вещи должны быть прекрасными во времени выполнения, также. Эти корректные взгляды?

5
задан Finglas 27 May 2010 в 20:43
поделиться

3 ответа

Ну, отчасти это зависит от того, насколько вы доверяете функции "удалить и отсортировать". Насколько я знаю, упорядочивание не имеет значения - но то, какие директивы присутствуют, может иметь значение.

Например, предположим, у вас есть такой метод расширения:

public static int Count<T>(this List<T> source)
{
    return 0;
}

Если бы он находился в типе в пространстве имен MyExtensions, а исходный код был бы таким:

using MyExtensions;
using System.Linq;

...
List<string> list = new List<string>();
int x = list.Count();

то удаление первой директивы using не изменило бы видимого вывода компилятора (т.е. ни ошибок, ни предупреждений), но изменило бы, какой метод расширения был вызван.

Теперь я лично верю, что "remove and sort" не сделает такого изменяющего поведение изменения, и у вас должен быть довольно хрупкий код для начала... но я просто решил упомянуть, что "он все еще собирается после этого" на самом деле не достаточно, чтобы гарантировать, что ваши тесты будут работать.

Лично я, вероятно, в любом случае запустил бы тесты снова, но в равной степени я был бы счастлив не делать этого, если бы это было необходимо. Как упоминает Финглас, если у вас есть система непрерывной сборки, предупреждающая вас об изменениях, последствия того, что вы иногда ошибаетесь, вероятно, не слишком катастрофичны. Конечно, если у вас тысячи разработчиков, которые будут испытывать неудобства из-за того, что сломанный код попадает на проверку, это совсем другое дело.

2
ответ дан 15 December 2019 в 06:17
поделиться

Да. Повторный запуск модульных тестов не требуется. Порядок с использованием директив не имеет значения для компилятора.

0
ответ дан 15 December 2019 в 06:17
поделиться

Неважно.

Лично я бы все равно запускал тесты перед фиксацией любого кода.

1
ответ дан 15 December 2019 в 06:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: