준호씨의 블로그

코딩의 신 아샬의 TDD 관련 영상 모음 본문

개발이야기

코딩의 신 아샬의 TDD 관련 영상 모음

준호씨 2018.06.10 01:22

TDD 관련 내용 찾다 보니 "코딩의 신 아샬" 이라는 채널을 발견하였다. 여기에 관련 된 영상들이 많이 보여서 첨부 해 본다. 나도 아직 다 보지는 못했고 보면서 좀 메모 해 보려고 한다.

(Scala) Longest Substring Without Repeating Characters 문제 풀이 2015.03.14

(Java) TDD on Spring ~ 봄에는 TDD ~ 2016.03.09

  • 우아한형제들 세미나 내용
  • 슬라이드: http://j.mp/2goENQk
  • 소스코드: http://j.mp/24QcoUx
  • Test First
  • 실패. 해결. 개선. 반복
    • RED (Fail). Green (Pass). Refactor. Repeat Process
    • 1 Write a test that fails
    • 2 Make only enough code for it to pass
    • 3 Improve code quality
    • Repeat Process
    • https://github.com/mjhea0/flaskr-tdd
  • Given, When, Then
    • Given - 상황
    • When - 어떻게 했을 때
    • Then - 어떻게 된다
  • 테스트를 위한 테스트가 되지 않도록 주의. 스프링이 제대로 만들어 졌나 테스트 해 볼까?
  • GOAL 에 집중. 문제 해결이 중요. 그래도 Coverage 100% 가능
  • Jackson 을 테스트 하지 말것
  • JSON 이 아니라 DTO 를 검증
  • 테스트 대상이 바뀜. Controller -> Service

(Python) Test First! @ahastudio - 이모콘 EMOCON 2016 S/S 2016.03.24

  • 3 * 2 를 python 으로 TDD
  • python 으로 unit test 할 때는 import unittest 로 시작
class MultiplicationTest(unittest.TestCase):
    def test_simple(self):
        self.assertEqual(6, multiply(2, 3))

if __name__ == 'main':
    unittest.main()

통과 하는 거

def multiply(a, b):
    return 6

리팩터링

테스트 추가

self.assertEqual(6, multiply(3, 2))
self.assertEqual(9, multiply(3, 3))
def multiply(a, b):
    result = 0
    for i in range(b):
        result += a
    return result

a, b 를 x, y 로 바꾸고 lambda 로 변경

def multiply(a, b):
    return reduce(lambda a, b: a + x, range(y), 0)

3 * -2 ?

self.assertEqual(-6, multiply(3, -2))
self.assertEqual(0, multiply(3, 0))
self.assertEqual(300, multiply(3, 100))

... 이하 생략

스프링캠프 2016[A-1]: TEST PATTERNS 2016.07.17

“테스트 주도 개발” 2017.02.25

테스트 주도 개발 @ 개발자, 한 달에 책 한 권 읽기 - 다섯 번째 모임 (2017-03-20)

TDD의 핵심 2017.07.17

회사에서 TDD를 하고 싶다면 이렇게 시작하세요 2017.08.03

TDD를 해야 하는 이유 2017.08.07

참고

0 Comments
댓글쓰기 폼