4
Jestのマニュアルモックを解明しようとしています。私はこれが簡単であるべきだと思うが...そうではない。Jestのオブジェクトのマニュアル模擬
マイプロジェクトディレクトリは
- __tests__
- よう
- user.jsの
- モデルユーザー-test.jsある
- __mocks__ の
- user.jsの
- よう
- node_modules
- ...
- package.json
両モデル/ user.jsのとモデル/ __ mocks__ /user.jsのコードは同じです:
module.exports = {
create(username, password) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve({"username":username, "password": password});
}, 100);
});
}
}
ファイル__tests __ /ユーザー-test.jsは、次のようになります。これは正常に動作します
test('user creation works',() => {
const user = require('../models/user');
//const user = jest.mock('../models/user');
return user.create("mitchell", "boo");
});
、テストが合格し、私はそれを変更する場合:
test('user creation works',() => {
//const user = require('../models/user');
const user = jest.mock('../models/user');
return user.create("mitchell", "boo");
});
それはdoesnの仕事、吐き出し:
FAIL __tests__\user-test.js
● user creation works
TypeError: user.create is not a function
at Object.<anonymous>.test (__tests__\user-test.js:4:17)
at process._tickCallback (internal\process\next_tick.js:103:7)