2
레일스에서 컨트롤러 동작의 응답이 파일인지 어떻게 테스트 할 수 있습니까? (랙 테스트 또는 카피 바라)응답이 파일인지 확인하는 방법은 무엇입니까?
단위 테스트를 사용해야합니까?
시나리오는 간단합니다. 데이터베이스의 내 보낸 사용자가 작업에서 생성 된 .csv에 포함되어 있는지 테스트해야합니다.
레일스에서 컨트롤러 동작의 응답이 파일인지 어떻게 테스트 할 수 있습니까? (랙 테스트 또는 카피 바라)응답이 파일인지 확인하는 방법은 무엇입니까?
단위 테스트를 사용해야합니까?
시나리오는 간단합니다. 데이터베이스의 내 보낸 사용자가 작업에서 생성 된 .csv에 포함되어 있는지 테스트해야합니다.
이렇게하려면 랙 테스트 또는 카피 바라가 필요하지 않습니다. 기본 테스트 인프라는 필요한 것입니다. 단순히 콘텐츠 형식은 CSV 있는지 확인 : 당신이 한 단계 더 걸릴하려면
test "returns a CSV file" do
get :index, format: :csv
assert_response :success
assert_equal "text/csv", response.content_type
end
, 당신은 확실히 유효한지 확인하기 위해 반환 CSV를 구문 분석하고 테스트 값을 반환 할 수 있습니다
test "returns a valid CSV file and data" do
get :index, format: :csv
assert_response :success
assert_equal "text/csv", response.content_type
csv = CSV.parse response.body # Let raise if invalid CSV
assert csv
assert_equal 6, csv.size
assert_equal "Joe Smith", csv[3][4]
end