首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象不是函数- SuperTest。

对象不是函数- SuperTest。
EN

Stack Overflow用户
提问于 2015-07-08 07:12:41
回答 1查看 3.4K关注 0票数 0

我不知道它为什么要抛出这个错误,它到底在说什么不是一个函数。

代码语言:javascript
复制
    'use strict';

  var koa = require("koa");
    var app = koa();
    var chai = require('chai');
    var expect = chai.expect;

    var request = require('supertest');

    describe('Feature: Car REST Endpoint', function () {

        context('Scenario: GET a Car', function () {

            var url = 'http://localhost/search/cars';

            describe('Given: the resource is accessed at the resource url' + url, function () {

                describe('Then: we receive a successful response', function(){

                    it('status code should be 200', function (done){
                        request(app)
                            .get(url)
                            .expect(200,done);
                    });
                });

它说是线.expect(200,完成),但我可能是错的。

我也试过了,但没有运气:

代码语言:javascript
复制
 request(app)
                    .get(url)
                    .expect(200)
                    .end(function(err, res){
                        if (err) return done(err);
                        done()
                    });

我也试过var request = require('supertest').agent(koa);

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-08 08:16:00

您的问题是将http://localhost传递给#get(url)。将url更改为/search/cars。我有一个完整的复制品(使用快递)

代码语言:javascript
复制
var request = require('supertest'),
express = require('express');

var app = express();

app.get('/user', function(req, res) {
  res.send(200, {
    name: 'tobi'
  });
});

request(app)
  .get('http://localhost/user')
  .expect(200)
  .end(function(err) {
    if (err) throw err;
    console.log('Success!');
  });

输出:

代码语言:javascript
复制
    if (res.status !== status) {
           ^
TypeError: Cannot read property 'status' of undefined
    at Test.assert (C:\workspace\choose-your-own\node_modules\supertest\lib\test.js:202:12)
    at Server.assert (C:\workspace\choose-your-own\node_modules\supertest\lib\test.js:131:12)
    at Server.g (events.js:199:16)
    at Server.emit (events.js:104:17)
    at net.js:1392:10
    at process._tickCallback (node.js:355:11)

当我使用/user时,我只得到:

代码语言:javascript
复制
Success!
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31285822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档