2011-03-13 3 views
1

이것은 내 첫 번째 stackoverflow 질문입니다.이메일 파싱을 테스트하는 오이?

저는 SendGrid에서 전자 메일을 올린 응용 프로그램을 빌드하고 있습니다. 그런 다음 지연된 작업을 구문 분석하려고합니다.

내 관심사는 어떻게해야합니까? 나는 오이에 대해 읽었으며 좋은 해결책처럼 들리지만 끝까지의 테스트 흐름을 이해할 수는 없습니다.

여기까지 내가 지금까지 있습니다.

  1. 나는 다양한 유형을 포함 TXT 파일의 큰 목록을 갖고 싶어 이메일 본문의이
  2. 나는 각 txt 파일을 통해 반복, 내 lib 디렉토리/mailingjob의 메서드에 전달하면 있는지 확인하십시오. rb, 반환되는 것은 오이에 정의 된 것과 일치합니다. 내가 시작하고 어디 그

    expected = File.open('???/mail1.txt', 'r') do |f| 
        f.read 
    end 
    

    :

그래서 내가 지금까지 가지고하는 것은 같은 것입니다. 할 수 있으면 다음을 이해하도록 도와주세요 :

  1. 이 TXT 파일은 모두 레일스 프로젝트 디렉토리에 있어야합니까?
  2. 로컬 텍스트 파일을 가져 오는 방법을 보여주는 e2e 예제를/lib 디렉토리의 메소드로 전달한 다음 반환되는 내용이 해당 파일 경로에 설정된 것과 동일한 지 확인하십시오.

은 (당신이 무엇을 사용 테스트 프레임 워크에 따라 당신이

+0

안녕하세요. Zabba님께 감사드립니다. 뭔가 바꿨 니? (신참) – AnApprentice

+0

예, 질문 제목에서 "(초보자)"를 삭제했습니다. – Zabba

답변

1
  1. 나는 아마 당신의 test 또는 spec 디렉토리 어딘가에서이 파일을 저장하는 것입니다 제공 할 수있는 당신이 어떤 도움을 주셔서 감사합니다 감사합니다, 당신은 오이를 언급하는 나는 잘 알고 있지는 않지만, features이라는 디렉토리를 사용한다고 생각합니다.) 정말로, 당신이 원하는 곳이면 어디든지 둘 수 있지만, 테스트 디렉토리의 몇개의 서브 디렉토리는 의미가 있습니다.

  2. 오이로 테스트하는 데 익숙하지 않은 경우 Railscast episode 155episode 159으로 시작하는 것이 좋습니다. 당신의 직접 질문에 대답하기 위해, 당신은 항상 당신의 프로젝트의 루트 디렉토리를 참조하고, 쉽게 다른 파일이나 폴더에 대한 경로를 구축 할 수와 같은

    email_text = File.read("#{Rails.root}/test/path/to/email.txt") 
    

    Rails.root로 텍스트 파일에서 이메일을 읽을 것입니다.

+0

Brandon에게 고마움을 전합니다. # 1, # 2에 대한 생각, TXT 파일을 사용하는 방법, 메서드로 전달하는 방법, 반환되는 텍스트 파일 당 응답이 일치하는지 확인하는 방법에 대해 설명합니다. – AnApprentice

+0

글쎄, 당신이 사용하는 테스트 프레임 워크에 따라 다르다. 가장 간단한 방법은'parsed_email = MyEmailParser.parse (email_text)'와 같은 일을 할 수 있고,'parsed_email'이 있어야한다고 생각하는지 확인할 수 있습니다. 그 부분은 당신에게 달린 것입니다! RSpec 또는 Cucumber와 같은 테스트 프레임 워크를 익히면 올바른 방향으로 나아갈 수 있습니다. 그래서 스크린 캐스트를 추천했습니다. –

+0

감사합니다. 나는 RSPEC 책을 처음부터 끝까지 읽었지만 위의 유스 케이스는 다루지 않습니다. 꽤 전형적이며 기술에 대한 경험으로 대개 극복 할 수있는 것, 나는 아직 오이와 같은 경험이 없습니다. 그래서 내가 도움이되기를 바랐다. – AnApprentice

관련 문제