我想創建一個測試,我不能讓它工作,因爲當我在測試環境中做moment("2017-09-10")
它不會創建一個Moment對象。正因爲如此,isBetween
總是錯誤的。測試時間與酶
這是我的功能
export const filteredStatistics = (data, startDate, endDate) => {
if(startDate === null || endDate === null) return data.toJS()
return data.filter(element => {
const date = moment(element.get("date"))
return date.isBetween(startDate, endDate, "days", "[]")
}).toJS()
}
這是我的測試
import moment from 'moment'
describe('all dates',() => {
it('returns original statistics',() => {
const statistics = getOverviewStatistics('ctr')(overview)
const statDate = moment(statistics.first().get('date'))
const endDate = moment(statistics.last().get('date'))
const current = filteredStatistics(statistics, statDate, endDate)
const expected = statistics.toJS()
expect(current).toEqual(expected)
})
})
我使用的是 「時刻」: 「^ 2.19.1」, 「酶」:「^ 2.9.1 「,」反應「:」^ 15.4.1「。 你知道我該如何測試它?
打印與所述對象之間的差產生運行代碼和運行測試
的的console.log:
console.log('date:', date, 'startDate:', startDate, 'endDate', endDate, 'betweenResult:', date.isBetween(startDate, endDate, 'days', '[]'))
運行試驗:
PS:我更新爲使用給定的建議
我發現錯誤的代碼:我把結束日期2016和2017年不u.u」對不起,並感謝大家的幫助!
它會拋出一個錯誤?你如何定義測試時機? – jmargolisvt
@jmargolisvt它不會引發錯誤。它只是不通過,因爲返回一個empy數組。我定義這樣的時刻:從'時刻'進口時刻 – Marina