Пожалуйста, позвольте мне поделиться с вами базовой структурой для автоматического запуска нескольких тестов.
https://github.com/eum602/Basic-testing-Examples-Using-NodeJS
Удачи.
Если Вы не восстанавливаете отключение, активно для остатка от файла.
Интересно это поведение не определено в спецификация языка . (см. раздел 9.5.8), Однако эти 9.5.1 разделов по символам Условной компиляции действительно указывают на это "до конца поведения файла"
, символ остается определенным, пока #undef директива для того же самого символа не обрабатывается, или пока конец исходного файла не достигнут.
, Учитывая 'препроцессор' на самом деле часть фазы лексического анализа компиляции, вероятно, что это поведение является эффективным контрактом для Microsoft и всеми другими реализациями для обозримого будущего (тем более, что альтернатива была бы чрезвычайно сложна и не детерминирована на основе порядка компиляции исходного файла)
Скажем, у меня есть частное поле, которое инициализируется с помощью отражений, компилятор, очевидно, не может найти код, непосредственно пишущий в это поле, таким образом, это покажет предупреждение - что я не хочу показывать.
Позволяют нам также сказать, что у меня есть другое частное поле, определенное 3 строки ниже первого, которое я забыл инициализировать, если я отключу предупреждение для всего файла, то это не инициирует предупреждение.
Так, лучшее использование для #pragma, предупреждающего, должно поместить "предупреждение, отключают" прямо перед строкой, которая вызывает предупреждение, что я хочу подавить и "восстановление предупреждения" прямо после строки, таким образом, то же условие в другом месте в файле все еще инициирует предупреждение.
Нет, Вы найдете, что компилятор автоматически восстановит любое отключенное предупреждение, после того как это закончило анализировать исходный файл.
#pragma warning disable 649
struct MyInteropThing
{
int a;
int b;
}
#pragma warning restore 649
В вышеупомянутом примере я повернулся предупреждения CS00649, потому что я намереваюсь использовать эту структуру небезопасным способом. Компилятор не поймет, что я буду писать в память, которая имеет этот вид расположения, таким образом, я захочу проигнорировать предупреждение:
Полю 'поле' никогда не присваивают и будет всегда иметь его значение по умолчанию 'значением'
, Но я не хочу, чтобы весь файл не был оставлен неконтролируемым.