rspec 3.0의 새로운 허용 구문 (그루터기 용)을 사용하려고 할 때 정말로 내 코드를보고 나에게 맞는지).rspec 3.0 스텁 구문 - 확실하지 않은 경우
download.rb
class Download
def download_file
# code to download a file
end
def valid_json
# code to verify downloaded file is file type json
end
end
download_spec.rb
require 'spec_helper'
require 'json_spec'
describe Download do
let(:download) {Download.new}
describe "#download_file" do
it 'downloads a file from remote file location ' do
allow(download).to receive(:exist).and_return(true)
download.download_file
expect(download).to have_received(:exist).and_return(true)
end
end
describe "#valid_json" do
it 'confirms downloaded file is JSON' do
# download.to_json.should have_json_path("id")
# download.to_json.should have_json_type(Integer).at_path("id")
expect(download.to_json).to have_json_path("id")
expect(download.to_json).to have_json_type(Integer).at_path("id")
end
end
end
사전에
많은 감사합니다!
안녕하세요 dnunez24, 재미있을 것입니다. 단지 Sandi Metz의 프리젠 테이션에 대해 이야기해야합니다. 저는 오늘 아침 YouTube에서이 주제에 대해 이야기했습니다. 아마 내 코드로는 충분치 않겠지 만, 다운로드 방법에 대한 테스트는 실제로 다운로드 구현의 결과로 생성 된 파일의 존재 여부를 테스트하기로되어있었습니다. 나는 다시 가서 Sandi의 갑판을 다시 볼 것이다. 당신의 도움을 주셔서 감사합니다! – user4219550
좋습니다. 따라서 실제로 코드를 가져오고 파일을 생성하는 코드는 무엇이든지간에 실제로 그루터기로 처리해야 할 수도 있습니다. 특히 테스트를 실행하는 데 시간이 오래 걸리는 경우가 있습니다. 코드에 포함 된 다른 종속성을 이해하지 않고도 좋은 예제를 제공하는 것이 어려웠습니다. 의존성 삽입을 살펴보고 메소드 호출에 스텁을 훨씬 쉽게 보낼 수 있습니다. 나는 Sandi가 그것의 몇 가지 예를 제시한다고 생각한다. –
예 단위 테스트입니다. – user4219550