차곡차곡 성 쌓기
pytest.fixture를 이용한 테스트
Soma 2024. 6. 14. 11:33

클래스내에 있는 함수를 테스트하기로 했다. 이때 고민된 것은 테스트 함수를 실행할 때마다 클래스 인스턴스를 만드는 것이었다.테스트 하려는 클래스는 생성자될 때 파싱해야 할 노드를 인자로 받는다. 그러면 매 테스트마다 다른 노드를 인자로 클래스를 만들어야 했다 이때 `fixture`를 사용하면 중복 코드를 줄이고 원하는 객체를 제공할 수 있다. 'pytest.fixture' 데코레이터를 작성하면 매 테스트 함수 호출 때마다 데코레이터를 붙인 함수를 실행한다. 이때 DB와 같은 클래스를 정의하거나 사전 준비 코드를 작성하면 테스트 함수마다 작성해야하는 코드 중복을 줄일 수 있다. @pytest.fixturedef call_parser(elem_manager): # CallParser 인스턴스를 생성하는..

#1 별찍기 시각화 시도
Soma 2024. 5. 18. 18:51

소마 프로젝트로 코드의 진행과정을 시각화 해주는 서비스를 만들기로 했다!우선 간단한 별찍기 로직을 시각화 먼저 해보기 했다.  목표 코드a = 8for i in range(a): print('*' * (i+1)) a = 8를 AST 트리로 변환 후 트리 출력하기import ast# 분석할 소스 코드source_code = """a = 8"""# 소스 코드를 AST로 파싱parsed_ast = ast.parse(source_code)# AST 트리를 출력def print_ast(node, level=0): print(' ' * level + ast.dump(node)) for child in ast.iter_child_nodes(node): print_ast(child, le..

728x90