Існують варіанти, засновані на різних стилях та мовах кодування. Однак, незалежно від мови, якою ви користуєтесь, найбільша варіація - це ви.
Роберт Мартін одного разу сказав:
"Коли тести стають більш конкретними, код стає більш загальним".
Це змусило мене задуматися. Більш конкретні тести означають більше тестового коду. Більш загальний виробничий код означає менше коду, тому співвідношення тесту / коду повинно зростати в міру розвитку коду.
Але зачекай, це теж не добре. У деяких конкретних випадках, наприклад, коли ви визначаєте певний алгоритм, у вас може бути лише 6-10 рядків коду, що містять пару "if" s, час і, можливо, 2-3 рекурсії. Я можу вам сказати, що цей код матиме, мабуть, більше 100 рядків тестового коду.
У реальному проекті, дещо більшому, ніж лише кілька алгоритмів, співвідношення тесту / коду повинно бути десь між 1: 1 і 2: 1. Якщо вона отримує вище 2: 1, це запах, що у вас є тести, які слід переробити або видалити (а може бути, код важко перевірити). Ви завжди повинні вкладати в тести таку ж кількість догляду та рефакторингу, як у виробничий код.
У будь-якому випадку, найкраща відповідь на ваше запитання, можливо, "Цикломатична складність" . Чим вища цикломатична складність вашого методу, тим більше випробування вам доведеться написати, щоб охопити всі випадки.