2016-08-19 8 views
1

하루 종일 검색되었지만 해결되지 않았으므로 여기에 있습니다. 편집 :이 글을 쓰는 과정에서 내가 문제를 다르게 생각하게 만들었고, 나는 그것을 알아 냈다. 그래서 나는 여기에 내 자신의 질문에 대답 할 것이다. 나는 "당신의 질문에 대답해라."라고 생각했다.chefspec의 스텁 도우미 기능

내가 도우미 함수를 호출 조리법 web.rb에서 선이 있습니다

prodservice_machine_name = search_for_nodes("ProdApp_Service_Install:1 AND chef_environment:#{node_env}")[0]['fqdn'] 

search_for_nodesspec_helpers.rb에 정의를하는 knife 검색 주위에 도움을 래핑하고, nodes[]

우리는 응답을 사용하여 반환 노드의 시스템 이름을 찾으십시오.

prodservice_machine_name = search_for_nodes("ProdApp_Service_Install:1 AND chef_environment:#{node_env}")[0]['fqdn'] 

사용 가능한 응답을 얻으려면 스터브하는 방법을 알아낼 수 없었습니다. search_for_nodes

+0

당신이 이걸 알아 냈기 때문에 기쁩니다! 표준 절차는 귀하의 대답을 질문에 넣지 않고 대답으로 게시하는 것입니다. – thesecretmaster

+0

내가 게시했을 때'자신의 질문에 답하십시오. '를 선택했다고 생각했습니다. –

답변

0

위에서 말했듯이 나는이 질문을 썼고 그 질문을 쓰는 행위가 그 문제를 내게 새벽이되게했다. 올바른 형식, 즉 키 - 값 배열로 반환을 조롱하지는 않았다.

before(:each) do 
    receive(:search_for_nodes).and_return(['fqdn' => 'dummy_server']) 
end 

그것은 작동하고, 나는 나의 조리법이 제대로 올바른 장소에 dummy_server를 사용하는 테스트 할 수 있습니다

나는 마침내이 함께했다.

앞으로의 검색 사용자에게 도움이되기를 바랍니다.