2017-08-18 32 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); 
相关问题