我想在node.js模块中对一些函数进行单元测试.我认为嘲笑第3个模块会有所帮助.特别要避免命中数据库
# models/account.coffee
register = (email, password)->
sha_sum.update(password)
pw = sha_sum.digest('hex')
user =
email: email
password: sha_sum.digest('hex')
users_db.save user, (err, doc)->
register_callback(err)
account_module =
register: register
module.exports = account_module
Run Code Online (Sandbox Code Playgroud)
这是我想测试的模块
# routes/auth.coffee
account = require '../models/account'
exports.auth =
post_signup: (req, res)->
email = req.body.email
password = req.body.password
if email and password
account.register(email, password)
res.send 200
else
res.send 400
Run Code Online (Sandbox Code Playgroud)
我希望能够测试在帖子中使用正确的主体来命中这个url调用该account.register
函数但我不希望测试命中数据库.我可能还没有实现帐户模块.
茉莉花规格#specs/auth.test.coffee描述'注册', - >
request = require 'request'
it 'should signup a user with username and password', (done)->
spyOn(account, 'register') …
Run Code Online (Sandbox Code Playgroud) 在React Native中,当使用WebView组件时,它会在呈现组件时开始加载外部内容.
为了提高应用程序的性能,我尝试预先获取外部HTML,以便在呈现组件时准备就绪.看起来它只是对render方法的实际调用将导致加载开始,这只是由屏幕上呈现的内容控制.我想React Native没有shadow DOM的概念,可以用来调用render方法的时间.试图操纵生命周期方法也行不通,可能也不是正确的方法吗?
我还尝试fetch()
使用标头中的正确用户代理来执行外部HTML内容,并将responseText传递给WebComponent.这有时适用于某些源站点,但对于其他站点我遇到ACAP(自动内容访问协议)问题,这不是首选解决方案.
有没有办法预先将外部HTML内容提取到WebView组件,以便更快地显示?
当在iOS和android上的Facebook浏览器中打开网站时,我们的webapp(反应)的Localstorage行为很奇怪。我们有一个身份验证流程,该流程取决于将令牌存储在本地存储中并读取它。在Facebook浏览器中打开我们的网站时看到的症状(用户单击Facebook上我们网站的链接)是,认证流在第一次尝试登录时失败,但在第二次尝试登录时有效。看来本地存储是异步的。至少它的行为与其他浏览器(例如Chrome,Firefox和Safari)不同。
在登录后进行重定向之前,我尝试进行长达700毫秒的setTimeout,但是它仍然无法从localstorage中读取令牌。但是,我localstorage.getItem(key)
之后能够立即执行localstorage.setItem(key, value)
并获得预期的结果。
我开发了一个chrome扩展.我做了一些小的更新,然后突然无法通过chrome网上商店安装扩展程序.我收到了错误
Package is in valid. Details: 'Could not unzip extension'
看来zip文件有问题.据我所知,将zip文件上传到chrome web store时,它会被加密为crx-file
.可能是那里发生的打嗝吗?
通过'load unpackaged extension'本地安装扩展或者拖动crx文件时,它可以正常工作.因此清单没有任何问题.我还检查了无效的文件名.我甚至创建了一个剥离了所有文件的版本.
我也尝试过这篇 SE帖子的解决方案.
让我感到惊讶的是,我在Chrome扩展程序上找不到谷歌的支持.没有电子邮件或任何我可以联系的帮助.
任何帮助表示赞赏.
facebook ×1
html5 ×1
ios ×1
jasmine ×1
javascript ×1
mocking ×1
node.js ×1
react-native ×1
unit-testing ×1
webview ×1