11 August 2008
Покриття тестами для усіляких там ArgumentException-ів
Як на мене, безглуздо перевіряти код який перевіряє аргументи, адже цей тип помилок набагато легше оптимати за допомогою FxCop чи чогось іншого, дотого ж цілком автоматично. Отже залишається багато коду на кшталт цього:
public override IEnumerable<ConnectionRecord> Query(ConnectionQueryContext context)
{
if (context == null)
{
throw new ArgumentNullException("context");
}
// Real code goes here!
}
Але іноді дуже вже хочеться 100% покриття, не заради якості коду(покриття і якість аж ніяк не зв’язані), а просто заради 100% ;).
Тільки вчора спало на думку, що це дуже легко вирішити:
public override IEnumerable<ConnectionRecord> Query(ConnectionQueryContext context)
{
ArgumentUtilities.EnsureArgumentNotNull(context, "context");
// Real code goes here!
}
Навіть без Pex обійшлись…
Вчу українську, багато працюю. Цікавлюсь моделюванням небезпек. Більшість часу витрачаю на .Net.