Должен ли я проверить частные функции плагина Javascript? - PullRequest
4 голосов
/ 22 сентября 2011

Я пытаюсь написать тестовый Javascript. Я знаю, что тестирование каждой функции крайне важно. Но я наткнулся на камень преткновения, в котором плагин, который я пишу, должен иметь некоторые частные функции. Я не могу заглянуть в то, как они функционируют. Что мне нужно сделать, если я хочу, чтобы мой код был хорошо протестирован, не меняя его структуру слишком сильно? (Я в порядке с выставлением некоторого API, хотя в определенных пределах.)

Я использую sinon, QUnit и Pavlov.

1 Ответ

3 голосов
/ 22 сентября 2011

Если вы выполняете тестовую разработку (в соответствии с тегами), каждая строка производственного кода сначала оправдывается неудачным тестовым примером.

Другими словами, существование каждого икаждая строка вашего производственного кода неявно тестируется, потому что без нее какой-то тест не удался.При этом вы можете с уверенностью предположить, что закрытая функция / лямбда / замыкание уже протестирована из определения TDD.

Если у вас есть закрытая функция и вам интересно, как ее протестировать, это означает, что вы не быливо-первых, делать TDD - и теперь у вас есть проблема.

Подводя итог - никогда не пишите рабочий код перед тестом.Если вы следуете этому правилу, проверяется каждая строка кода, независимо от его глубины.

...