Type.Error app.address不是函数

时间:2017-04-05 16:54:11

标签: node.js testing

我正在尝试测试我的节点应用,我能够发布,获取并投入工作,但我无法删除工作我继续得到以下错误“Type.Error app.address不是函数“

这是我的测试类:

dd %>% group_by(id) %>% filter(year %in% sapply(year[list==1], `+`, c(-1,1)))

这是我的主要课程,具有所有功能:

var supertest = require("supertest");
var should = require("should");

// This agent refers to PORT where program is runninng.
var server = supertest.agent("http://localhost:8000");

// UNIT test begin

describe("Contacts GET unit test",function(){
  // #1 should return contacts representation in json
  it("should return collection of JSON documents",function(done){

    // calling home page api
    server
    .get("/api/contacts/")
    .expect("Content-type",/json/)
    .expect(200) // THis is HTTP response
    .end(function(err,res){
      // HTTP status should be 200
      res.status.should.equal(200);
      done();
    });
  });

it("should add a new contact",function(done){

  // post to /api/contacts
  server.post('/api/contacts')
  .send({name:"Contact 99"})
  .expect("Content-type",/json/)
  .expect(201)
  .end(function(err,res){
    res.status.should.equal(201);
    done();
  });
});

it("should update contact",function(done){
// post to /api/contacts
// calling home page api

        server.put("/api/contacts/58e275d0aef2392e10eaba6e")
        .expect("Content-type",/json/)
        .expect(200) // THis is HTTP response
        .end(function(err,res){
            res.body._id.should.equal("58e275d0aef2392e10eaba6e");
            done();
         }
       );
       }
     );


it("should delete contact",function(done){
// post to /api/contacts
// calling home page api
const superserver = supertest(server);
server.get("/api/contacts")
.expect("Content-type",/json/)
.expect(200) // THis is HTTP response
.end(function(err,res){
    const id = res.body[0]._id;
   server.delete("/api/contacts/"+id)
        .expect("Content-type",/json/)
        .expect(200) // THis is HTTP response
        .end(function(err,res){
            res.body._id.should.equal(id);
            res.body.should.have.property("name");
            done();
         }
       );
       }
     );
});
});

这是我在命令行中得到的: enter image description here

1 个答案:

答案 0 :(得分:0)

我不确定它是否有帮助,但在你的测试类中问题似乎在这里(l.62):

const id = res.body[0]._id;

它返回undefined,因此你得到一个Type.Error

您应该尝试调试此行并检查返回:

res.body[0]

PS: api \ contacts \ test \ testContancts.js 确定名称文件?