날짜 범위와 관련하여 여기에 비슷한 질문이 몇 가지 있지만 어느 솔루션도 저에게 효과가없는 것으로 보입니다. 내가하는 일은 한달의 날짜 범위를 가지고 오늘 날짜가 그 범위 내에 있는지 확인하는 것입니다. 결국, 테스트하는 기능이 날짜 관련 기능이므로 올해의 매월 사례 메서드에 넣을 것입니다.오이 날짜 범위 루비
계산을 쉽게하기 위해 날짜를 정수로 변환하려고 했으므로 (또는 내가 생각한대로) between?
을 사용하여 날짜 범위를 확인하십시오. 당신이 볼 수 있듯이 오늘 사이 아니므로
Today = 1468479863
month_start = 1451606400
month_end = 1454198400
이 실패한다 :
today = Time.now.to_i
month_start = Time.parse('1 Jan 2016').to_i
month_end = Time.parse('31 Jan 2016').to_i
if today.between?(month_start,month_end)
#do something
end
각 변수에 박았을 가지고, 이것은 출력 :
이
내 코드입니다 날짜 범위가 멀어졌습니다. 그러나 테스트가 녹색으로 바뀌어between?
메서드가 포함 된 내
if
문이 작동하지 않습니다.
나는 그것을 볼 수 없기 때문에 나는 여기에 실종되었다는 명백한 무언가가 있나.
기능의 단계는 여기에 있습니다 :
Then(/^I can see that all results have a statement due this month$/) do
today = Time.now.to_i
month_start = Time.parse('1 Jan 2016').to_i
month_end = Time.parse('31 Jan 2016').to_i
results_table = all('table#clickable-rows tbody tr')
if today.between?(month_start,month_end)
results_table.each do |row|
within(row.all('td')[3]) do
statement_date = find('table#clickable-rows tbody tr td:nth-child(4) > span')
expect(statement_date).to have_text '1 Aug 2016'
end
end
end
end
과 같이 쓸 수 있었다 위의 코드를 실행하는 실제 테스트가 포함되어 있습니다.'between? '은'if' 문 안의 코드가 실행되지 않기 때문에 예상대로 작동합니다 ... –
이 달의 날짜를 사용하고 테스트를 통과했습니다. 테스트를 확인한 다음 월로 날짜를 Jan으로 전환하여 if 문에서 테스트가 실패했는지 확인합니다 (1 월의 오늘 날짜를 찾지 않아야 함). 테스트 결과가 여전히 전달 된 것처럼 보입니다. 질문에 시험을 포함 시켰습니다. – Tom