테스트 기대치
이 페이지에서는 Dynamo에 추가되는 새 코드 테스트에 대해 무엇을 기대할 수 있는지 설명합니다.
자, 추가하려는 새 노드가 있다고 생각해 보겠습니다. 멋지죠. 이제 몇 가지 테스트를 추가할 차례입니다. 테스트를 추가하는 데에는 두 가지 이유가 있습니다.
이는 작동하지 않는 부분을 찾는 데 도움이 됩니다.
누군가 노드를 손상시키는 어떤 부분을 변경하면 테스트에 실패해야 합니다. 그러면 테스트 실패를 야기한 사람이 이 문제를 해결해야 합니다. 그러나 테스트에 실패하지 않는다면 이후 해당 문제로 인해 사용자의 모델이 손상되면 책임은 주로 여러분이 지게 됩니다.
Dynamo의 테스트는 크게 유닛 테스트와 시스템 테스트의 두 가지 유형으로 나뉩니다.
유닛 테스트
유닛 테스트는 가능한 한 적게 테스트해야 합니다. C# zero touch 노드를 통해 제곱근을 계산하는 노드를 빌드한 경우 유닛 테스트는 해당 DLL만 테스트하고 C#은 해당 코드로 직접 호출해야 합니다. 유닛 테스트에는 Dynamo가 포함되지 않아야 합니다.
유닛 테스트에는 다음 테스트를 포함해야 합니다.
정상 테스트(정상적인 상황에서 잘 작동하는지 확인)
비정상 테스트(잘못 입력할 경우 큰 오류가 발생하지 않는지 확인)
회귀 테스트(누군가 코드에서 버그를 발견하면 해당 버그가 재발하지 않도록 테스트 작성)
이러한 테스트는 소규모로 빠르게 실행되며 신뢰할 수 있어야 합니다. 대부분의 테스트는 유닛 테스트여야 합니다.
시스템 테스트
시스템 테스트는 여러 구성요소에 대해 작동하고 구성요소가 함께 얼마나 잘 작동하는지 테스트합니다. 따라서 신중하게 사용하고 작성해야 합니다.
그 이유는 무엇입니까? 실행하는 데 비용이 많이 듭니다. 대기 시간을 가능한 한 짧게 두고 테스트 도구 모음을 계속 실행해야 합니다.
가장 좋은 방법은 상호 작용하는 블록 세트를 늘리면서 일련의 테스트를 점진적으로 실행하는 것입니다. 그래야 테스트에 실패하기 시작하면 문제가 어디서 발생했는지 매우 빠르게 찾을 수 있습니다.
시스템 테스트가 필요한 부분의 예:
단일 요소가 아닌 추적에 여러 요소를 저장하는 새로운 유형의 Revit 노드
데이터를 다르게 표시하는 새로운 감시 노드
시스템 테스트가 필요 없는 사항의 예:
새로운 수학 노드
문자열 처리 라이브러리
시스템 테스트는 다음과 같아야 합니다.
올바르게 작동하는지 확인
비정상적으로 작동하지 않는지 확인(예: 예외 없음)
Last updated