100% покрытие кода ничего не значит.
Это ложное чувство безопасности.
Единственное, что вы измеряете, это то, что вы выполняете все строки кода.
Не
- То, что эти строки кода - это все строки кода, которые должны были быть там
- То, что эти строки кода работают правильно (вы тестируете все крайние случаи?)
Например, если ваша процедура борьбы с пожаром содержит 1 шаг «выбег из здания», то, даже если это происходит в 100% случаев, возможно, лучшей процедурой будет «оповещение пожарной охраны, попытаться остановить огонь, а затем бежать, если ничего не помогает ".
Нет ничего встроенного в C #, что поможет вам в этом, если вы не будете специально заходить и добавлять код, либо контракты кода (.NET 4.0), либо специальные операторы IF (<4.0).