Если у вас есть угловая директива, в которой внутри шаблона есть кнопка с атрибутом ng-click, я должен проверить действие фактических действий (щелчок) или, прикрепленных к ng -click-атрибут, вызов функции?Ng-click - как модульный тест для поведения
Другими словами, для директивы, которая имеет шаблон:
<div>
<button ng-click="game.start()">start</button>
</div>
я должен проверить, что щелчок делает или что функция game.start делает?
Мне известно, что позже функция game.start может быть изменена для другой. Кроме того, можно удалить ng-click и щелкнуть событие по-другому.
Тестирование устройства с помощью triggerHandler ('click') является заманчивым, но шаблон директивы также может меняться. Это означало бы, что мне нужен «проверенный» доступ к узлам DOM, а именно через атрибуты id.
Должен ли я прикреплять атрибуты идентификаторов на узлах только для модульного тестирования, или я должен принять другой подход к проблеме?
Что ж, не будет проверять, что именно щелчок делает то же самое, что и функция game.start? – Aaron
Ну, да и нет. Да, пока, но скажем, что я хочу реорганизовать код позже, и моя функция game.start изменится, например, на game.init. В таких ситуациях я вынужден переписать свою тестовую спецификацию. Я просто не хочу этого делать при написании тестов на поведение. –