0
def some_method condition
actual = [1,2,3]
expected = include(1)
matcher = lambda {|condition|
if condition == "YES"
return RSpec::Matcher.should
else
return RSpec::Matcher.should_not
end}
actual.matcher.call(condition) expected
end
메소드에 구문 분석 된 조건을 기반으로 should 또는 should_not 정규 일치를 동적으로 만드는 방법은 무엇입니까?동적 Rspec 매처를 호출하는 방법 should 또는 should_not을 호출하는 방법
def some_method condition
actual = [1,2,3]
expected = include(1)
matcher = lambda {|condition|
if condition == "YES"
:should
else
:should_not
end}
actual.send(&matcher.call(condition), expected)
end
이 실제 결과에 대한 방법 should
또는 should_not
를 호출 중 하나
감사를 보조 노트에
, 나는 이것이 좋은 아이디어라고 할 때 ... 단위 테스트가 결정하고 읽을 수 있어야보고 꽤 어려움을 겪고있어,이 아이디어는 모두 그들을 덜하게 당신이 아주 많이. 나는 그것이 사용되어서는 안된다는 것에 당신의 의견에 동의한다. 나는 그것을 어떻게하는지 궁금했다. 'actual.send (matcher.call (condition), expected)'하려고했을 때 제대로 작동하지 않았습니다. 이제 그 이유를 알았습니다. 당신의 도움을 주셔서 대단히 감사합니다. 감사합니다. (사용 사례는 같은 단계에 대해 "SHOULD"또는 "SHOULD_NOT"을 전달하고 처리하기 위해 Cucumber 단계 정의에있었습니다. – rstormsf