2
rspec으로 테스트 할 때 비 정적 메서드에 전달되는 인수를 확인할 수 있습니까?Rspec에서 비 정적 메소드를 테스트 하시겠습니까?
클래스 A를 테스트하려면 클래스 B를 호출해야합니다. B는 이미 테스트를 마쳤습니다. 내가 테스트 할 유일한 것은 내가 b.calling
에 들어오는 인수를 테스트하려면 어떻게 B.
class A
def method
number = 10
b = B.new
b.calling(number)
end
end
class B
def calling(argument)
# This code in this class is already testet
end
end
에 들어오는 인수입니까?
나는 이것을 시도했지만 성공하지 못했습니다.
it "should work" do
b = mock(B)
b.should_receive(:calling).at_least(1).times
A.new.method
end
항상 실패, beacuse b
는 호출되지 않았습니다.
감사합니다, 그것은 일했다! – Oleander
+1하지만, OP는 정말로 스스로에게 'B'가 처음에 어떻게 구성되는지에 대해 'A'가 왜 알고 있는지 물어야합니다. 또는'method'가'B'를 만들고 즉시 그것을 버리는 이유. –
네, 비록 병적 인/교육적인 예라고 생각합니다. a.method (b)와 같이 인수로 전달 될 때 b에 대한 호출을 주장하는 것이 더 일반적입니다. – nruth