Chapter C - Unit Testing

Posted at 2010. 3. 2. 17:33 | Posted in Oracle Solution/PO Processing
반응형
Introduction

SOA composite 레벨에서 테스트를 할 수 있습니다.

아래 4가지 유닛 테스트를 해봅시다.

1. An inbound message for receivePO.
2. A simulation of a callback message returned by as service
3. An assertion to verify the order status at completion
4. An assertion the will always fail for the input we provided in this testcase



Create the Unit Test

프로젝트 - SOA Content - testsuites 에서 마우스 오른쪽 버튼 클릭 후 Create Test Suite 클릭




이름은 logic Test로 입력




생성될 파일 이름을 TestDelivery로 입력




Exposed Services와 External Reference 영역이 노란색으로 변경되었습니다.

Return to SOA composite diagram 버튼을 누르면 진짜 composite 화면으로 갑니다.





Set the inbound message

reveivePO를 더블클릭하거나 오른쪽 버튼 클릭 후 Create Initiate Messages를 클릭합니다.






request Part의 값을 입력합니다.




receivePO 그림에 파란색 화살표가 생겼습니다.




이번에는 getCreditCarStatus에서 approveLargeOrder로 리턴(return)이 항상 VALID가 나오게 해봅시다.

approveLargeOrder(BPEL Process)와 getCreditCardStatus(Web Service)를 연결하는 선을 더블 클릭합니다.



Emulates 탭에서 Emulate를 추가합니다.




Generate Sample 버튼을 클릭하면 아웃풋의 샘플이 나옵니다.

태그 사이의 값을 VALID로 수정합니다.




OK를 클릭합니다.




선이 변경되었습니다.





Set the assertion for success

routePO 에서 WriteApprovalResults 로 갈 때 상태(status) 내가 지정한 값과 같은지 검증합니다.

routePo(Mediator)와 WriteApprovalResults(File Adapter)를 연결하는 선을 더블 클릭합니다.




Asserts 탭에서 Assert를 추가합니다.




Assert Target 오른쪽의 Browse 버튼을 클릭합니다.




status를 선택합니다.




값을 approved 로 입력합니다.





Set the assertion for failure

이번에는 배송 처리할 때 고객ID(CustomerID)가 내가 지정한 값과 일치하는지 검증해봅시다.

approveLargeOrder와 FullfillementProcess를 연결하는 선을 더블 클릭합니다.




Assert를 추가합니다.




값은 9999를 입력합니다.




OK 클릭





Deploying the Application

배치합니다. 이번에는 혹시몰라 1.1 버젼으로 배치했습니다. ㄷㄷ





Testing the application

프로젝트(POProcessing [1.1]) 선택 후 단위 테스트 탭을 선택 후 실행을 클릭합니다.




테스트 실행 이름을 입력합니다.




테스트 실행의 결과 상태가 "실행 중"이면 테스트 상태 새로 고침을 버튼 클릭해서 상태를 갱신합니다.




상태가 "실패"로 나왔습니다.




아래쪽 검증 세부 정보를 보면 검증 결과가 나온 것을 확인할 수 있습니다.







반응형
//