반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 개발
- node
- IOS
- xcode
- webpack
- Chrome
- qunit
- 오블완
- react
- androidstudio
- 센토스
- VirtualBox
- linux
- ReactNative
- 맥
- PYTHON
- 리눅스
- vsCode
- 네트워크
- TensorFlow
- MAC
- jest
- unittest
- Android
- 티스토리챌린지
- build
- MachineLearning
- centos
- localserver
Archives
- Today
- Total
로메오의 블로그
[QUnit] mock storage 사용하기 본문
반응형
QUnit은 local server에서 구동할것이기 때문에 webpack으로 dev server 설정을 먼저 하세요.
js/index.js
실제 개발 코드가 되겠습니다.
// Storage에 데이터를 저장한다.
let myphone
localStorage.setItem('mySmartPhone', 'iPhone')
myphone = localStorage.getItem('mySmartPhone')
console.log('내 폰은 ' + myphone + ' 입니다.')
localStorage에 mySmartPhone 의 실제값은 iPhone이 들어갑니다.
__test__/index.spec.js
// mockStorage 함수를 생성한다.
QUnit.begin(() => {
const mock = (() => {
let store = {};
return {
getItem: key => {
return store[key];
},
setItem: (key, value) => {
store[key] = value.toString();
},
clear: () => {
store = {}
}
}
})()
Object.defineProperty(window, 'localStorage', {
value: mock,
});
});
QUnit.test('mock storage 테스트', assert => {
localStorage.setItem('mySmartPhone', 'Gallexy')
myphone = localStorage.getItem('mySmartPhone')
assert.equal(myphone, 'Gallexy', '내 폰은 Gallexy 입니다.')
})
QUnit으로 테스트시에는 Gallexy값을 넣습니다.
(실제 localStorage의 값은 건드리지 않습니다.)
Webpack dev server 구동
WEBPACK DEV SERVER 구동하기 포스트를 참조하세요.
$ npm run server
테스트가 통과되었습니다.
하지만 실제 local storage에는 iPhone이 그대로 들어가 있습니다.
반응형
'Frontend > Test Driven' 카테고리의 다른 글
[Json-server] JSON-Server 이용해서 Mock API 만들기 (0) | 2019.11.25 |
---|---|
[Jasmine] 테스트 코드 작성 (0) | 2019.06.29 |
[Jasmine] Karma 환경설정 (0) | 2019.06.29 |
[QUnit] 테스트 코드 작성하기 (0) | 2019.06.28 |
[QUnit] 테스트 환경 설정 (0) | 2019.06.27 |
Comments