Python 4

유닛 테스트(Unit Test)의 중요성과 다양한 작성 예시 (feat. Python) 🕵

들어가기에 앞서... 이번 인턴십 기간 동안 나의 주된 업무 중 하나는 테스트 코드 작성이었다. 덕분에 이제는 테스트 코드 작성에 꽤나 익숙해졌지만, 처음에는 관련 자료를 찾을 수가 없어서 어려움을 많이 겪었었다. 나와 비슷한 어려움을 겪을 사람들을 위해, 또 인턴십 동안 배운 내용을 정리해보기 위해 테스트 코드, 그중에서도 유닛 테스트 작성에 대한 글을 써보고자 한다. 유닛 테스트 (Unit Test)란? 유닛 테스트는 가능한 가장 작은 모듈(보통 클래스 또는 메소드 수준)이 의도한 대로 작동하는지 검증하는 테스트이다. 보통 테스트 대상 단위가 작을수록 테스트 코드가 간단해지고 디버깅하기도 쉬워지기 때문에, 모듈 크기를 적절히 작게 설정하는 것이 유닛 테스트의 좋은 시작점이라고 볼 수 있다. 유닛 테스..

공부방/Python 2022.12.09

[TIL] Python class 상속과 super()

[주절주절] - [Today I Learned] # 상속(inheritance)과 메서드 오버 라이딩(overriding) - 클래스 상속이란 물려주는 클래스(Parent class, Super class)의 속성과 메서드를 물려받는 클래스(Child class, Sub class)가 갖게 되는 것. - 어떤 클래스를 상속받아 클래스를 정의했을 때, 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것이 메소드 오버 라이딩. class Person: def show(): print('Person!') class Student(Person): def show(self): print('Student!') Hye = Student() Hye.show() # super() super()는 자식 클래스에서 부모 ..

[TIL] Python 클래스의 메서드(method) + 데코레이터(decorater)

[주절주절] 코드 짜기 싫어서.. 괜히 딴 거 공부..🎭 [Today I Learned] # 클래스 속성과 인스턴스 속성 클래스의 속성에는 클래스 속성과 인스턴스 속성 두 가지 종류가 있다. 1) 클래스 속성 class Person: bag = [] def put_bag(self, stuff): self.bag.append(stuff) 위와 같이 코드를 작성했을 경우, bag가 클래스 속성이 된다. class Person: bag = [] def put_bag(self, stuff): self.bag.append(stuff) Amy = Person() Amy.put_bag('책') Hye = Person() Hye.put_bag('노트북') print(Amy.bag, Hye.bag) Amy와 Hye 인스..

[TIL] Python isinstance / Json.dumps ; default

[주절주절] 😤 [Today I Learned] # Python isinstance 주어진 인스턴스가 특정 클래스 혹은 데이터 타입인지 검사해주는 함수이다. isinstance(인스턴스, 클래스/데이터 타입)으로 사용한다. result = isinstance(1,int) print(result) > True result = isinstance([1,2,3],list) print(result) > True isinstance 함수가 type()에 대해 갖는 장점은 상속 관계도 확인할 수 있다는 점이다. class Soccer(self): ... class Play(Soccer): ... p = Play() type(p) == Play > True type(p) == Soccer > False isinsta..