小编Arn*_*sen的帖子

模拟Node.js中的模块进行单元测试

我想在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)

unit-testing mocking node.js jasmine

17
推荐指数
1
解决办法
2万
查看次数

React Native WebView预渲染以获得更快的性能 - 如何做到这一点?

在React Native中,当使用WebView组件时,它会在呈现组件时开始加载外部内容.

为了提高应用程序的性能,我尝试预先获取外部HTML,以便在呈现组件时准备就绪.看起来它只是对render方法的实际调用将导致加载开始,这只是由屏幕上呈现的内容控制.我想React Native没有shadow DOM的概念,可以用来调用render方法的时间.试图操纵生命周期方法也行不通,可能也不是正确的方法吗?

我还尝试fetch()使用标头中的正确用户代理来执行外部HTML内容,并将responseText传递给WebComponent.这有时适用于某些源站点,但对于其他站点我遇到ACAP(自动内容访问协议)问题,这不是首选解决方案.

有没有办法预先将外部HTML内容提取到WebView组件,以便更快地显示?

webview react-native

16
推荐指数
1
解决办法
5481
查看次数

iOS上的Facebook浏览器:localStorage问题

当在iOS和android上的Facebook浏览器中打开网站时,我们的webapp(反应)的Localstorage行为很奇怪。我们有一个身份验证流程,该流程取决于将令牌存储在本地存储中并读取它。在Facebook浏览器中打开我们的网站时看到的症状(用户单击Facebook上我们网站的链接)是,认证流在第一次尝试登录时失败,在第二次尝试登录时有效。看来本地存储是异步的。至少它的行为与其他浏览器(例如Chrome,Firefox和Safari)不同。

在登录后进行重定向之前,我尝试进行长达700毫秒的setTimeout,但是它仍然无法从localstorage中读取令牌。但是,我localstorage.getItem(key)之后能够立即执行localstorage.setItem(key, value)并获得预期的结果。

javascript html5 facebook ios

5
推荐指数
1
解决办法
357
查看次数

开发人员Chrome扩展程序:程序包无效.详细信息:"无法扩展uzip"

我开发了一个chrome扩展.我做了一些小的更新,然后突然无法通过chrome网上商店安装扩展程序.我收到了错误

Package is in valid. Details: 'Could not unzip extension'

在此输入图像描述

看来zip文件有问题.据我所知,将zip文件上传到chrome web store时,它会被加密为crx-file.可能是那里发生的打嗝吗?

通过'load unpackaged extension'本地安装扩展或者拖动crx文件时,它可以正常工作.因此清单没有任何问题.我还检查了无效的文件名.我甚至创建了一个剥离了所有文件的版本.

我也尝试过这篇 SE帖子的解决方案.

让我感到惊讶的是,我在Chrome扩展程序上找不到谷歌的支持.没有电子邮件或任何我可以联系的帮助.

任何帮助表示赞赏.

google-chrome google-chrome-extension

4
推荐指数
1
解决办法
1万
查看次数