助焊剂储存 - 单元测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了助焊剂储存 - 单元测试相关的知识,希望对你有一定的参考价值。
我正在为几家Flux商店编写单元测试,并遇到了一个小麻烦。
我的商店通常是这样构建的:
storeObj = {
...
}
_secretsetterfunction = function (){}
module.exports storeObj
如您所见,由于setter函数位于store对象之外 - 它不能直接访问。
这提出了一个问题,因为测试/操作存储数据的唯一方法是通过Action - > Dispatcher - >事件监听器(技术上可以删除Action),这不是我想要经历的事情。单元测试商店。
另一种方法是将setter方法实际放在store对象上 - 但这不是我真正想做的事情。
有什么想法吗?
答案
我也有这个问题,使用Jasmine。
我写了一篇关于如何在不使用Jest时获取对这些私有内部函数的引用的博客文章和示例回购:http://bensmithett.com/testing-flux-stores-without-jest/
TL; DR - 使用rewire
另一答案
行动实际上是商店的公共场合。您只需验证操作的效果即可完全测试您的商店。
另一答案
因此,助手团队刚刚在一篇博文中解决了这个问题,尽管他们使用的是他们自己的变种Jest。还是值得一读:
以上是关于助焊剂储存 - 单元测试的主要内容,如果未能解决你的问题,请参考以下文章