2015-09-23 41 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"