2009-07-31 7 views
5

이것은 간단한 질문처럼 보이지만 어디에서나 답을 찾을 수 없습니다.def 또는 test 키워드로 레일스 테스트를 작성해야합니까?

test "the truth" do 
    assert true 
    end 

또는

def the_truth 
    assert true 
    end 

새로운 물질이 첫 번째 방법을 테스트 쓰는 것 같다,하지만 난 할 수 없습니다 : 나는 일반적으로 그 나타났습니다, 루비 레일에 응용 프로그램의 테스트는 다음과 같이 쓸 수있다 이것에 대한 이유를 찾는 것 같습니다. 하나는 다른 사람보다 선호합니까? 하나 더 맞습니까? 감사.

답변

8

짧은 짧은 테스트 이름에서 긴 문장 스타일 테스트 이름으로 바뀌 었습니다. 이것은 부분적으로 RSpec의 인기와 테스트가 스펙이며 설명이 있어야한다는 개념 때문입니다.

설명이 포함 된 테스트 이름을 사용하려면 test 메서드를 사용하는 것이 좋습니다. 나는 그것을 더 읽기 쉽다고 생각한다.

또한 설명은 문자열이므로 모든 문자를 포함 할 수 있습니다. def을 사용하면 어떤 문자를 사용할 수 있는지 제한됩니다.

+0

'test' 메소드는 Rspec 또는 다른 라이브러리의 일부입니까? – Pithikos

2

첫 번째 방법은 Rails 2.2부터 시작한다고 생각합니다. 필자가 알고있는 한, 테스트의 경우에만 테스트가 사용되는 동안 def는 모든 함수가 될 수 있으므로 코드의 가독성을 향상시킵니다. 행운을 빈다!

-1

RSpec 또는 Cucumber으로 테스트 해 보시기 바랍니다. 둘 다 사용하여 모든 응용 프로그램을 테스트합니다. RSpec은 모델과 컨트롤러를 테스트하는 데 사용되며 Cucumber는 뷰를 테스트합니다 (포함 된 Webrat 기능을 통해).

관련 문제