2016-05-05 18 views
8

Tôi cần một số trợ giúp để giải quyết vấn đề của mình bằng cách kiểm tra mã nút. Tôi đang sử dụng mocha và supertest. Tôi đang bối rối với việc thực hiện trong supertest. Tôi không biết để giải quyết nó. Tôi đang cố gắng tự động tải xuống tệp.LoạiError: Không thể đọc địa chỉ 'thuộc tính' của supertest sup1est

`describe('GET /entry/:entryId/file/:id/download', function(){ 
it('should pass download function', function(done){ 
    this.timeout(15000); 
    request(app.webServer) 
    .get('/entry/543CGsdadtrE/file/wDRDasdDASAS/download') 
    .set('Authorization', 'Bearer eyJ0eXAiOiJKV1QiLCJhbGco') 
    .expect(200) 
    .end(function(err, res){ 
    if (err) return done(err); 
    console.log(err, res); 
    done(); 
}); 
}); 
}); 
+0

tôi đã bao gồm nó cảm ơn bạn tôi hy vọng bạn có thể giúp tôi bro – Saitama

+0

nó nói rằng theres một vấn đề với /node-modules/supertest/lib/test.js. và khi tôi nhìn vào test.js tôi tìm thấy điều này – Saitama

+0

'Test.prototype.serverAddress = function (ứng dụng, đường dẫn) { var addr = app.address(); nếu (! Addr) this._server = app.listen (0); cổng var = app.address(). Port; giao thức var = ứng dụng instanceof https.Server? 'https': 'http'; giao thức trả lại + ': //127.0.0.1:' + cổng + đường dẫn; }; ' – Saitama

Trả lời

9

Tôi đã nhận được lỗi tương tự từ mocha khi thử nghiệm ứng dụng tốc hành. Toàn văn của lỗi:

0 passing (185ms) 
2 failing 

1) loading express responds to /: 
TypeError: app.address is not a function 
    at Test.serverAddress (test.js:55:18) 
    at new Test (test.js:36:12) 
    at Object.obj.(anonymous function) [as get] (index.js:25:14) 
    at Context.testSlash (test.js:12:14) 

2) loading express 404 everything else: 
TypeError: app.address is not a function 
    at Test.serverAddress (test.js:55:18) 
    at new Test (test.js:36:12) 
    at Object.obj.(anonymous function) [as get] (index.js:25:14) 
    at Context.testPath (test.js:17:14) 

tôi cố định nó bằng cách thêm này để server.js nhanh của tôi, tức là xuất khẩu các đối tượng máy chủ

module.exports = app 
3

người dùng đánh máy, những người đang phải đối mặt với lỗi này, kiểm tra hai điều:

  1. Các máy chủ nhanh nên có module.exports = app (nhờ @Collin D)
  2. Sử dụng import * as app from "./app"
    thay vì saiimport app from "./app"
+0

Điều này đã giải quyết được vấn đề của tôi, cảm ơn! – user752746

+0

@Saitama Tôi biết điều này là cũ nhưng bạn nên đánh dấu điều này là câu trả lời vì nó cũng được giải quyết cho tôi. – Zacho

Các vấn đề liên quan