2013-06-09 5 views
2

배경 :phpunit/cakephp에서 열거 형 필드를 처리하는 방법은 무엇입니까?

cakephp 앱을 단위 테스트하려고합니다. 앱은 단위 테스트없이 제작되었습니다. 미래의 개발을 구조화 할 수 있도록 단위 테스트를 추가하고 싶습니다.

애플 리케이션은 많은 열거 형 열을 사용하고 cakephp는 열거 형 열을 지원하지 않으므로 기존 코드에 대한 단위 테스트를 작성할 수 없습니다. 열거 형을 tinyint 또는 varchar로 변환 할 것을 제안하는 사람들이 있습니다. 열거 형 필드에 코드 변경이 필요하지만 더 많은 값을 가진 열거 형 필드에 대해서는 쉬운 해결책이 아니므로 열거 형 필드에 두 가지 옵션 (예 : 활성화/비활성화, true/false, 활성/비활성) 만 포함하면 해당 솔루션을 시도했을 것입니다.

질문 :

내가 최소한의 변경으로 사전 빌드 응용 프로그램에 대한 단위 테스트를 작성 할 수있는 간단한 방법이 있나요?

+0

PHP에서 enums : - –

답변

0

Google의 경우 몇 가지 다른 방법을 찾아보세요. 나는 개인적으로 (국제화 포함) 쉽게 액세스 할 수있는 클래스 상수 및 정적 방법을 선호 : http://www.dereuromark.de/2010/06/24/static-enums-or-semihardcoded-attributes/

을하지만 당신은 그것을 위해 구글 경우 당신은 또한 다른 많은 솔루션이 있습니다 등 EnumBehaviors 또는 ArrayDatasources를 사용할 수 있습니다.

첫 번째 해결책은 사용자 정의 베이크 템플릿을 사용하고 이미 enum-ready 코드를 모든 열거 형 드롭 다운으로 베이크 할 수 있다는 것입니다. 또한 int 값을 사용자 친화적 인 변환 된 문자열 값으로 변환하는 데 db lookup이 필요 없기 때문에 매우 빠릅니다. 하위 집합 열거 형을 사용할 수도 있습니다 (모두 대신 사용할 수 있음). 원하는대로 다시 정렬 할 수 있습니다.

+1

답장을 보내 주셔서 감사합니다 - BTW 내가 질문을하기 전에 그것을 봤어요 ... 나는 첫 번째 해결책을 탐구 중입니다. - 고마워요. – Scalable