CALL 명령은 애니메이션 또는 추적의 오퍼레이션 호출을 시작합니다. TestConductor는 이 명령을 사용하여 오퍼레이션을 시작할 수 있습니다.
[Object name]->CALL([operation call] [, signature (optional)])
operation call
오퍼레이션이 정적인 경우에는 클래스 이름입니다. 그렇지 않으면 호출을 수행하는 오브젝트의 이름입니다. 형식은 다음과 같습니다.
[method name]([list of argument values]) signature
오퍼레이션의 시그니처를 지정합니다. 이 선택적 인수는 오버로드된 함수를 구별하는 데 사용됩니다. 예를 들면,
a->CALL(f(5, "Hello"),f(int,char*))
A[0]->CALL(f(5))
는 A[0] 오브젝트의 f(5)를 호출합니다.
A->CALL(g("Hello, World!"))
는 A 오브젝트의 g(char*)를 호출합니다.
다음 표는 샘플 알림을 나열합니다.
| 조치 | 메시지 형식 |
|---|---|
| 애플리케이션이 재개될 때 오퍼레이션이 호출됩니다. | Message: <CALL command> sent. 예를 들면, Message: Utility->CALL(sq(2)) sent. |
| 오퍼레이션이 리턴되며 리턴값이 있습니다. | <CALL command> returned <return
value> 예를 들면, Utility->CALL(sq2)) returned 1.41421. |
| 일치하는 오퍼레이션이 없습니다. | Unable to perform <CALL command>,
no matching operation found. 예를 들면, Unable to perform a->CALL(f()), no matching operation found. |
| 둘 이상의 일치하는 오퍼레이션이 있습니다. | Unable to perform <CALL command>,
more than a single matching operation found. 예를 들어, 다음과 같습니다. Unable to perform a->CALL(f(5)), more than a single matching operation found. 이러한 상황은 명령행 인터페이스를 사용하고 시그니처를 지정하지 않는 경우에만 발생할 수 있습니다. 창을 사용하면 창이 항상 시그니처를 입력하기 때문에 이 메시지가 표시되지 않습니다. |