4
나는 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 6,은 다음과 같다 : 이것은 잘 작동
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");
});
은 '아무튼 t 일하고 침을 뱉어 낸다 :
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)