제 코드에서는 가끔 다양한 바이트 배열 등이 전달됩니다. 또한 관리 대상이 될 수도 있습니다. 이러한 메모리 구조를 보존하여 구체적인 예에 대한 테스트 사례를 작성할 수 있습니다.메모리 데이터 구조를 나중에 단위 테스트에서 사용하기 위해 보존하는 방법
내 표준 접근법은 중단 점을 맞추고 디버거를 사용하여 다양한 값을 찾은 다음 새 값으로 만들거나 단위 테스트 어셈블리에 파일 또는 무언가를 리소스로 포함시키는 것입니다. 때로는이 작업을 통해 구성 요소 상호 작용에 대한 내 자신의 추상화를 작성하여 코드를 new'ed 될 수있는 것에 의존하게 만듭니다.
더 쉬운 방법이 있습니까? 나는 이것이 새로운 무엇인가라고 상상할 수 없다. 당신이 소통하는 중앙 유닛이 화재라고 가정 해 봅시다. 단위 테스트를 위해 만들려는 데이터 그램을 만들기 위해 주변에서 놀고 있습니다. 또한 불 중앙이 합성 메시지를 작성하는 일부 문서화되지 않은 방법으로 인해 버그가 발생하면 해당 예제를 기록하고 보존하려고합니다.
이상적으로는 모든 상호 작용을 코드에 기록한 다음 다양한 재생 시나리오를 선택하고 선택할 수 있기를 바랍니다. 하지만 디버거에서 메모리에있는 다양한 데이터 그램 예제를 가져 와서 단위 테스트로 다시 가져 가면 많은 도움이됩니다.
제안 사항?
+1 나쁜 제안은 아니지만 해당 유형을 직렬화 할 수 있어야합니다. –
@Mark y, 이는 그가 외부 시스템과 교환하는 요청/응답을 저장 /로드하는 데 필요한 부분에 더 많은 의미가 있습니다. 그래서 나는 단순한 사물들을 생각하고있다. 같은 접근법으로 나머지 테스트를 진행하는 것을 권장하지 않습니다. – eglasius
실제로. 서비스 계층 내에서 통신 세부 사항을 명시하는 것을 허용하지 않을 것입니다. 통신 세부 정보를 처리하는 특정 비즈니스 엔티티 (클래스 라이브러리)가 있고 이것들이 테스트입니다. 통신과 비즈니스 로직 사이에는 추상 레이어가 있습니다. 고맙습니다. – Tormod