루비 세계에서 TDD는 프레임 워크에 내장 된 도구로 촉진됩니다. Factory Girl, Mocha, rSpec 등을 통해 개발자는 필요한 테스트 사례를 해결하는 쉽고 역동적 인 테스트를 만들 수 있습니다.
Drupal의 TDD 도구가 부족하여 좌절했습니다. 그들과의 가장 큰 문제는 단일 테스트를 실행하는 데 걸리는 시간입니다. 각 반복마다 60-90 초가 걸리는 개별 테스트로 개발주기를 늦출 수 없습니다. 테스트를 전혀 작성하지 않으려면 전체 테스트 스위트가 여러 시간 동안 실행됩니다.
테스트가 실행될 때마다 전체 DB를 복사하는 것과 관련이 있다고 생각하지만, DrupalWebTestCase를 사용해야하는 경우 가까운 미래에 내가 말할 수있는 것에서 변경되지는 않습니다.
Drupal을 수동으로 부트 스트랩 하는 Phactory 와 phpunit을 사용하여 솔루션을 해킹 하고 있습니다. 분명히 몇 가지 문제가 발생하여 끝내지 못했지만 아직 끝나고 있습니다.
다행히도 대부분의 작업은 백엔드 레이어에 있으므로 DRUPAL_BOOTSTRAP_DATABASE 수준을 유지할 수 있습니다. 그러나 전체 스택이 필요한 더 많은 상황에 처해 있습니다.
결국 Drupal의 TDD는 잘 지원되지 않으므로 Drupal 테스트 프레임 워크 외부에서 작동하도록 자체 작성하거나 성능 저하를 견딜 수 있습니다.
-업데이트-
Drupal과 Phactory의 완전한 통합을 성공적으로 설정했으며 이제 Drupal Web Test Case 대신 phpunit을 통해 테스트를 실행하고 있습니다. 가능합니다.
나는 그것을 릴리스 할 수 있고 Phactory doc에 통합 될 수있는 시점에 도달하기를 바랍니다.
-업데이트 2-
Phactory 설정 방법에 대한 문서는 https://github.com/trimbletodd/phactory에 있습니다.