2014-02-21 4 views
0

behat/mink 기능 테스트를 구현하는 방법에 대한 질문이 있습니다. 웹 응용 프로그램에 필요한 자격 증명 (액세스/읽기 전용/쓰기 없음)이있는 사용자가 일부 데이터 시트에 액세스 할 수 있습니다.컨텍스트 테스트를위한 Behat/Mink 전략

나는 behat/mink를 통해 모든 가능한 컨텍스트를 테스트 할 수 있기를 원합니다. 질문은 그런 테스트를위한 모범 사례 무엇입니까? 일부 개발자는 사용하려는 각 유형의 사용자에 대해 시나리오를 만들어야한다고 말했습니다. 그런 다음 다른 테스트에서 만든 사용자를 사용해야합니다. 그러나 나는이 생각에별로 편견이 없습니다. 나는 그것이 내 테스트들 사이에 커플 링을 도입한다고 생각합니다. 사용자를 만드는 테스트가 실패하면 특정 사용자에 대한 내 데이터 시트 액세스를 검사하는 테스트도 실패합니다.

따라서 필자는 앱을 테스트하기 전에 필요한 모든 프로필을 삽입 할 스크립트를 실행합니다. 필자는 사용자 생성 전용 테스트를 실시 할 예정이며 특정 사용자가 특정 데이터 시트에 액세스 할 수 있는지 확인하기 위해 픽스처를 사용합니다. 이 솔루션의 다른 점은 고정 장치 세트를 유지해야한다는 것입니다.

의견이나 아이디어가 있으십니까?

답변

1

안녕 user3333860 (어떤 사용자 이름 XD),

내가 테스트와 요즘의 전문가 아니에요, 나는 더 많은 루비/RSpec에에있어하지만 난 개인적으로 두 솔루션은 좋은 위치와 사용되는 것이라고 생각합니다.

기능을 사용하여 사용자를 만들 수 있습니다. 사용자 만들기 테스트에 실패하면 사용자 생성 리팩토링도 엉망입니다. 다른 테스트가 실패한다는 사실은 나에게 단점이되지 않는 것 같습니다. 그러나 나는 당신이 당신의 테스트 사이에 커플 링을 원하지 않는다는 사실을 이해합니다. 요점은 테스트가 정적 순서로 실행되었거나 무작위로 실행되는지 (예 : rspec이 항상 같은 순서로 테스트를 시작하지 않음) 다른 테스트에서 여러 번 동일한 테스트를 실행할 준비가되었는지 여부입니다. 다른 테스트가 성공적으로 완료 될 수 있습니다.

비품을 사용하십시오 : 그럼 내가 사용하는 좋은 해결책이기도합니다. 그리고 여러분은 이미 유지 보수해야한다는 사실을 정확히 지적하십시오. 결국

, 나는 단지 도구를 사용하면 당신의 객체 템플릿을 유지하는 데 도움이 FactoryGirl 같은 도움과 비품 경로를 취할 것 https://github.com/breerly/factory-girl-php

희망 나는 당신의 딜레마에 도움 (여기하는 것은 그것의 PHP 버전입니다) .