2017-08-18 6 views
0

私はテストしている反応にレデューサーがあります。エクスポートのデフォルト関数の中でreduceの戻り値をテストしたいと思います。そして、私はどのようにその機能の中の削減にアクセスするのか分からない。エクスポート関数内で関数を減らす方法をテストするには

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); 
関連する問題