2016-05-10 16 views
3

私はノードが比較的新しく、jestを使用してrequestをモックしようとすると問題が発生しています。冗談でリクエストを嘲笑するときのエラータイプ

私のファイルをテストする場合は、require('request')を持っており、私はnpm testを実行しようと、私はこのエラーを取得する:それは場合に役立ちます

FAIL __tests__/sum-test.js (0.291s) 
● sum › it adds 1 + 2 to equal 3 
    - TypeError: The super constructor to `inherits` must have a prototype. 
     at Object.exports.inherits (util.js:756:11) 
     at Object.<anonymous> (node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/private-key.js:44:6) 
     at Object.<anonymous> (node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/utils.js:16:18) 

はここで、私のpackage.jsonです:

{ 
    "name": "jesttest", 
    "version": "1.0.0", 
    "scripts": { 
    "test": "jest" 
    }, 
    "devDependencies": { 
    "jest-cli": "^12.0.2" 
    }, 
    "dependencies": { 
    "request": "^2.72.0" 
    } 
} 

誰でもなぜこれが起こっているのか知っていますか?

答えて

3

jest.unmock('request')をテストファイルに追加してください。

Jestはあなたのファイルに何かが必要なときに偽のrequireオブジェクトを偽装します。このような状況では、リクエストは実際のリクエストではありません。

+0

これは私のために働いた。 @Manuこれはあなたのために働いた場合、これを答えとして受け入れてください。 –

+0

私は同じ問題があり、これはうまくいきませんでした。 –