2015-09-23 65 views
0

你能告訴我一個如何測試這個動作的例子嗎?我從real-world redux示例抓取動作創建者。測試異步動作創建者

function fetchUser(login) { 
    return { 
    [CALL_API]: { 
     types: [USER_REQUEST, USER_SUCCESS, USER_FAILURE], 
     endpoint: `users/${login}`, 
     schema: Schemas.USER 
    } 
    }; 
} 

對不起,我英文不好;(

+0

你是什麼試圖在這裏測試?這個函數只是返回一個對象。如果你想測試這個動作是否被調度,你需要用你自己的api測試中間件來測試下面的'loadUser',以確保這個動作實際上被調度了。然而,這是微不足道的,因爲您可以使用Logger提取相同的信息。 – tells

+0

是的,我知道,我只是在學習redux和單元測試,這就是爲什麼我想測試一切:D。感謝你的回答。 –

+0

@AlexBogoslovskiy檢查在該主題上創建的git問題:[示例測試](https://github.com/rackt/redux/issues/788#issuecomment-142715764) – Max

回答

1

解決方案通過@gaearon:

import { CALL_API } from '../middleware/api'; 
import { fetchUser } from '../actions'; 

expect(fetchUser('svnlto')[CALL_API].endpoint).toEqual('/users/svnlto'); 

獲取更詳細的信息請查看github issue "example test"