2011-11-22 1 views
0

내 모델의 메소드에 대한 테스트를 작성하고 있습니다. 물론 단위 테스트가 필요한 것처럼 들리지만,이 메소드의 인수 중 하나는 레일 애플리케이션의 양식에서 매개 변수를 취합니다. 유닛 테스트 또는 기능 테스트 (또는 둘 다)를 작성해야합니까?레일에서 이것을 테스트하려면 어떻게해야합니까?

단위 테스트의 경우 폼 응답의 출력과 비슷한 해시 변수를 설정하는 것입니다. 그러나 폼 매개 변수가 언젠가 업데이트되거나 변경 될 수 있기 때문에 최선의 방법인지 궁금합니다. 미래.

감사합니다.

+0

양식 매개 변수가 변경되면 테스트의 위치에 관계없이 어쨌든 테스트를 변경해야합니다. –

답변

2

최소한 하나 이상의 단위 테스트가 있어야합니다. 일반적으로 다음 세 가지를 다루어야합니다.

  1. 기본 사례 -이 방법에 가장 적합한 매개 변수는 무엇입니까?
  2. 특수한 경우 - 극단적 인 경우는 무엇입니까? 상한선과 하한선은 무엇입니까? null 사건 은요?
  3. 유효하지 않은 경우 - 유효하지 않은 값은 무엇입니까? 당신의 방법은 그것들을 어떻게 다루고 있습니까?

이러한 경우를 다루고 매개 변수를 메소드에 전달하는 것과 관련하여 특별한 조치를 취하지 않으면 기능 테스트의 중요성이 줄어 듭니다.

그러나 아직 어떤 행동 테스트를 해보시는 것이 좋습니다. Rails는 주로 RSpec, CucumberCapybara과 같이 사용 가능한 큰 보석으로 인해 단위 테스트 및 동작/통합 테스트를 쉽게 수행 할 수있는 환경입니다. Cucumber 기능을 작성하면 Capybara가 양식 매개 변수 변경 사항을 선택하고 잘못된 점이 있으면 기능이 실패합니다.