2009-10-19 6 views
4

Приветствия,Как найти неиспользованный код

У меня есть большое количество тестов пригодности для проекта (1000+). Со временем, когда функции меняются, а общие приборы приходят и уходят, мы остались с неиспользуемым сиротским кодом. Но как его найти?

Для тех, кто не знает, как подходят работы, у вас есть вики-страницу с, как например:

| Когда пользователь добавляет | 1 | и | 2 | Он возвращается | 3 |

который отображается во время выполнения к способу, как:

public bool WhenAUserAddsAndHeIsReturned(int first, int second, int expectedResult){ 

    return ((first + second) == expectedResult) 
} 

найти все из этих отображений вручную будет рутина, написание сценария, чтобы сделать это будет долгой и трудной задачей. Я уверен, что должно быть лучшее решение.

Есть ли там утилита, которая могла бы контролировать DLL-устройство при выполнении тестов, а затем возвращать список всех классов и методов, которые НЕ запускались?

+1

Что такое тест «фитнес»? Является ли это комбинамимом для «фитнеса» и «изящества»? –

+2

http://fitnesse.org/ – ryber

+0

Ох.

ответ

11

Ключевое слово, которое вы ищете, это покрытие. Question #276829 охватывает некоторые из возможностей вашей платформы C# /. NET.

+0

+1 короткая & сладкая. Недостаточно людей ссылаются на существующие хорошие ответы, которые есть. – DaveParillo

+0

Это было бы так, если бы он искал 100% -ный охват метода во время его модульного тестирования, но разве это говорит вам, действительно ли методы [будут] выполняться во время нормальной работы программы? –

+0

Я знал, что nCover и т. Д. Предоставят вам такие данные во время выполнения модульных тестов ... на самом деле у nCover есть свой собственный nNnit runner как часть его процесса. Но я не знал, что его можно использовать для анализа dll в других ситуациях. Я должен смотреть на это. – ryber

1

Связанные с покрытием профилирующие инструменты. См. this post для рекомендаций .Net. Эти инструменты сообщают вам, где ваше время тратится во время выполнения, не обязательно, когда ваш код не сделал, но вы можете использовать их для поиска мертвого кода.

0

eswald is right, Инструмент покрытия - это именно то, что вам нужно. Наш сервер сборки ccNet запускает наши тесты Fitnesse (и модульные тесты) с NCover, чтобы проверить, насколько хорошо мы это делаем с автоматическим тестированием кода приложения. Этот вопрос - хорошее напоминание, чтобы проверить отчеты о покрытии мертвых светильников.

 Смежные вопросы

  • Нет связанных вопросов^_^