로메오의 블로그

[Jasmine] 테스트 코드 작성 본문

Frontend/Test Driven

[Jasmine] 테스트 코드 작성

romeoh 2019. 6. 29. 17:00
반응형

karma.conf.js

module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine'],

    files: [
      './js/index.js',
      './__test__/*.spec.js'
    ],
    
    exclude: [
    ],
    preprocessors: {
    },
    reporters: ['progress'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false,
    concurrency: Infinity
  })
}

karma 환경설정 파일을 열어서 files 부분을 수정합니다.

 

js/index.js

getHello = name => {
    return 'Hello ' + name
}

__test__/index.spec.js

describe('첫 번째 테스트', () => {
    it('이름을 입력하면 인사말이 반환된다.', () => {
        const actualString = getHello('romeoh')
        const expectString = 'Hello romeoh'
        
        expect(actualString).toBe(expectString);
    })
});

 

Karma 실행

$ karma start

1개의 테스트가 성공했다고 표시됩니다.

 

브라우저에서 DEBUG 버튼을 누릅니다.

크롬 디버그창에서 Console 창에 테스트 메시지를 확인 할 수 있습니다.

 

테스트 실패 메세지

__test__/index.spec.js

describe('첫 번째 테스트', () => {
    it('이름을 입력하면 인사말이 반환된다.', () => {
        const actualString = getHello('romeoh')
        const expectString = 'Goodbye romeoh'
        
        expect(actualString).toBe(expectString);
    })
});

테스트 코드를 실패하도록 코드를 변경했습니다.

저장하면 watch가 작동하고 있기 때문에 즉시 메시지를 확인 할 수 있습니다.

크롬 Debug 창도 새로고침 하면 실패 메시지를 볼 수 있습니다.

반응형
Comments