web-dev-qa-db-ja.com

TypeError:未定義のスーパーテストのプロパティ「アドレス」を読み取れません

Nodejsコードのテストに関する問題を解決するには、助けが必要です。私はモカとスーパーテストを使っています。スーパーテストの実装と混同しています。それを解決する方法がわかりません。ファイルのダウンロードを自動化しようとしています。

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();
            });
    });
});
12
Saitama

Expressアプリのテスト中にモカから同様のエラーを受け取りました。エラーの全文:

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)

これをExpress server.jsに追加して修正しました。つまり、サーバーオブジェクトをエクスポートします

module.exports = app
16
Colin D

このエラーに直面しているTypeScriptユーザーは、次の2つを確認してください。

  1. 高速サーバーにはmodule.exports = app@ Collin D に感謝)
  2. 使用する import * as app from "./app"
    代わりにwrongimport app from "./app"
5
Artru

私は同じ問題に直面していました、上記の解決策は私にとってはうまくいきませんでした、私の靴の中の誰かが親切にこの人の

server.jsでのエクスポートは

module.exports.app = app;

es6機能を使用するよりも複数のモジュールがある場合

module.exports = {
  app,
  something-else,
  and-so-on
}

バージョン相互参照用のmy package.json

{
  "name": "expressjs",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "mocha **/*.test.js",
    "start": "node app.js",
    "test-watch": "nodemon --exec npm test"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.16.4",
    "hbs": "^4.0.1"
  },
  "devDependencies": {
    "mocha": "^5.2.0",
    "supertest": "^3.3.0"
  }
}
1
hemant singh