2017-08-18 30 views
0

我有一個reducer反應,我正在測試我想測試導出默認函數內reduce的返回值。我不確定如何訪問該功能中的減少。如何測試內部導出函數的減函數Jest(反應)

MyReducer:

exports default function myReducer({ 
people = [0,1,2]; 
people.reduce(function(sum, peeps){ 
return sum + peeps; 
}0); 
return "hey"; 
}) 

開玩笑測試:

import myReducer from 'myReducer'; 
expectedPeeps = 3; 
expect(Something needs to go here).toEqual(expectedPeeps); 

我需要弄清楚如何獲得people.reduce的返回值。我可以通過調用myReducer()來獲得「嘿」。但是,我如何在我的測試中獲得people.reduce的返回值! ?預先感謝窺視。

回答

0

首先,你在MyReducer中有幾個語法問題。我想應該是這樣的:

export default function myReducer() { 
    const people = [0,1,2]; 
    people.reduce(function(sum, peeps){ 
    return sum + peeps; 
    }, 0); 
    return "hey"; 
} 

如果你需要測試本身減少,你可以將它移動到它自己的功能和導出:

export function reducePeople(people) { 
    return people.reduce(function(sum, peeps){ 
    return sum + peeps; 
    }, 0); 
} 

export default function myReducer() { 
    people = [0,1,2]; 
    reducePeople(people); 
    return "hey"; 
} 

和進口並在測試中對其進行測試:

import { reducePeople } from 'myReducer'; 
expectedPeeps = 3; 
expect(reducePeople([0,1,2])).toEqual(expectedPeeps); 
相關問題