더북(TheBook)

ctypes를 사용할 때 가장 좋은 방법은 더 복잡한 코드에서 활용하기 전에 해당 기능에 대한 단위 테스트를 먼저 작성하는 것이다(아이템 109 “단위 테스트보다 통합 테스트를 선호하라” 참조). 이런 테스트의 목적은 ctypes를 통해 호출하는 라이브러리의 표면 동작이 기본적인 용례에 대해 예상대로 작동하는지 확인하는 것이다. 이를 통해 공유 라이브러리 내 함수의 인자 타입이 변경됐는데 ctypes에서 이를 갱신하지 않아 발생하는 문제 등을 조기에 감지할 수 있다. 다음은 가져온 my_library.dot_product 심볼을 테스트하는 코드다.