测试在节点中使用 mocha/supertest 重定向的请求

2023-12-29

我似乎无法使用以下集成测试来通过快速项目mocha http://visionmedia.github.com/mocha/, 超级测试 https://github.com/visionmedia/supertest, and should https://github.com/visionmedia/should.js/(和咖啡脚本)。


The test

should  = require('should')
request = require('supertest')
app     = require('../../app')

describe 'authentication', ->
  describe 'POST /sessions', ->
    describe 'success', (done) ->
      it 'displays a flash', (done) ->
        request(app)
          .post('/sessions')
          .type('form')
          .field('user', 'username')
          .field('password', 'password')
          .end (err, res) ->
            res.text.should.include('logged in')
            done()

相关申请代码

app.post '/sessions', (req, res) ->
  req.flash 'info', "You are now logged in as #{req.body.user}"
  res.redirect '/login'

Failure

1) authentication POST /sessions success displays a flash:
   AssertionError: expected 'Moved Temporarily. Redirecting to //127.0.0.1:3456/login' to include 'logged in'

显然,应用程序代码没有做任何有用的事情。我只是想让测试通过。

将期望值 (res.text.should.include('logged in')) 在结束函数之外和内部expect函数产生相同的结果。我还尝试了函数调用的变体,例如删除.type('form')调用,并使用.send(user: 'username', password: 'password')而不是两个.field() calls.

如果这意味着什么,当应用程序在本地运行时向应用程序发送curl POST 请求会产生相同的输出(Moved Temporarily. Redirecting to //127.0.0.1:3456/login)

我感觉这是一个微不足道的错误。可能我在应用程序代码或测试代码中忘记了一些东西。

有什么建议么?

EDIT 1:还值得注意的是,当单击浏览器中的提交按钮时,我得到了预期的结果(一条闪存消息)。

EDIT 2:进一步调查显示输出any重定向结果在Moved Temporarily. Redirecting to ...响应体。这让我想知道我在 app.js 中导出应用程序的方式是否存在问题。

var express = require('express')
var app = express();

module.exports = app;

有对此的内置断言supertest:

should  = require('should')
request = require('supertest')
app     = require('../../app')

describe 'authentication', ->
  describe 'POST /sessions', ->
    describe 'success', ->
      it 'redirects to the right path', (done) ->
        request(app)
          .post('/sessions')
          .send(user: 'username', password: 'password')
          .expect(302)
          .expect('Location', '/home')
          .end(done)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试在节点中使用 mocha/supertest 重定向的请求 的相关文章

随机推荐

  • 为什么我们不应该在java中使用受保护的静态

    我正在经历这个问题Java中有没有办法覆盖类变量 https stackoverflow com questions 685300 is there a way to override class variables in java 首先c
  • ListView 项目上的删除按钮

    我开始为 UWP 进行开发 我正在尝试创建一个ListView填充有x bind 现在我想在所有单个项目上创建一个按钮来删除它们 类似于 Windows 10 邮件 我已经创建了
  • 使用字符串值作为变量名[重复]

    这个问题在这里已经有答案了 是否可以使用 String 作为变量名 就像这个例子一样 String musicPlaying music2 Music music1 new Music blaalla Music music2 new Mu
  • 在 Firebase 中构建关系

    我的 Firebase 中有两项 providers and services 我正在尝试找出使用 Firebase 推荐的扁平化架构方法构建和建立关系的最佳方法 我的数据看起来像这样 services hip replacement ti
  • 在java 8中是否可以做一个懒惰的groupby,返回一个流?

    我有一些较大的文本文件 我想通过对其行进行分组来处理它们 我尝试使用新的流媒体功能 例如 return FileUtils readLines parallelStream map collect groupingBy pair gt pa
  • 如何使用 exoplayer 横向全屏播放视频

    我正在使用 exoplayer 在我的 Android 应用程序中播放来自 url 的视频 在纵向中 一切都按预期工作 在活动中使用视图页面 片段和选项卡 我的目标是当用户处于横向状态时全屏播放视频 这意味着只有视频将以横向方式播放 所有其
  • 如何在解决方案中的所有项目之间共享 LocalDB 实例?

    我有一个 VS 2012 解决方案设置如下 EF 模型项目 EF模型测试项目 ASP NET MVC 4 应用程序 WCF数据服务项目 在开发过程中 我想使用 LocalDB 作为 EF 的后备数据库 MVC 和 WCF 项目都使用 EF
  • 将图像存储在 MySQL 数据库中

    我想知道如何在 MySQL 数据库中存储图像和文件 我想获得这样的图像和文件www example rsrc php example image jpg Facebook 上的示例 facebook example com rsrc php
  • 在 DataGridViewComboboxColumn 上设置所选项目

    我有一个带有 DataGridViewComboboxColumn 列的 datagridview 其中包含 3 个值 小号中号大号 我恢复了用户默认值 在本例中为 中 我想在 datagridview 中显示一个下拉单元格 但默认值为 中
  • spring.jmx.enabled 的确切目的是什么?

    对于 Spring Boot v2 4 2 在通过 JMX 进行监控和管理 https docs spring io spring boot docs current reference html production ready feat
  • 在 PSQL 脚本中使用环境变量

    是否可以在 sql 文件中使用 Linux 环境变量 我正在使用复制 选择查询写入输出文件 并且我想将该目录放入变量中 所以我想做一些类似的事情 COPY SELECT FROM a TO outputdir a csv Outputdir
  • 为动态创建的组件分离 vuex 存储

    这个问题让我有点卡住了 不幸的是 我在这里找不到答案 问也没有帮助 因此 在做了一些研究并到处询问之后 似乎我找到了这个问题的解决方案 如果您有一个已经知道答案的问题 并且您 希望公开记录这些知识 以便其他人 包括你自己 稍后可以找到它 当
  • 从字符串中提取版本号

    我有一个包含组件和版本号的字符串 data c kuh small1 divider bin 1 4 4 divider conf 1 3 3 w 1 16 storage bin 1 5 4 storage conf 1 5 0 w 1
  • 在 R 中,如何在对数据进行聚类后绘制相似度矩阵(如框图)?

    我想生成一个图表 显示聚类数据和相似度矩阵之间的相关性 我怎样才能在 R 中做到这一点 R 中是否有任何函数可以创建像此链接中的图片一样的图形 http bp0 blogger com VCI4AaOLs A SG5H jm f8I AAA
  • 列出 VBA 2003 中类的属性

    我到处搜索 看看这个问题是否有一个简单的答案 但似乎没有 我正在使用 Excel VBA 2003 是的 我知道它已经过时 但我无法更改它 我想要做的就是列出给定自定义类中所有可读属性的名称和值 我想做这样的事情 类定义 对于名为 cFoo
  • Nginx 尝试记录到 /var/logs 而不是 /var/log?

    我注意到当我使用以下命令测试我的 nginx 配置时nginx t 它给了我一个警告 nginx alert could not open error log file open var logs nginx error log faile
  • 主线程中的错误:MKNormalizedPointForLayer

    我正在开发基于核心位置的iPhone应用程序出现一些奇怪的错误 当我在后台状态发送应用程序并将其发送回前台时 在主线程中出现名为错误MKNormalizedPointForLayer仅此而已 我必须去哪里寻找解决方案 谷歌在这方面做得很差
  • JavaFX WebView 未加载 HTTPS 页面

    我使用 JavaFX WebView 控件编写了一个浏览器 一切都很好 直到我尝试加载加密页面 我尝试https www gmail com https www gmail com我在加载工作线程的异常属性中收到 未知错误 仅当我将应用程序
  • 为什么迭代二维数组行优先比列优先更快?

    下面是简单的 C 代码 用于比较迭代二维数组行主要与列主要 include
  • 测试在节点中使用 mocha/supertest 重定向的请求

    我似乎无法使用以下集成测试来通过快速项目mocha http visionmedia github com mocha 超级测试 https github com visionmedia supertest and should https