현재 응용 프로그램에서는 OneWay로 표시되도록 작업 계약이 필요한 WCF netMSMQBinding을 사용하려고합니다.Fitnesse를 사용하여 OneWay WCF 작업을 테스트하는 방법
우리는 또한 테스트 엔진으로 Fitnesse를 사용하려고합니다. 테스트 케이스에서 시나리오를 끝까지 테스트해야합니다. 즉, 단방향 오퍼레이션을 사용할 수 없다는 것을 의미합니다. 단방향 오퍼레이션을 사용할 수 없다는 것을 의미합니다. 메시지가 대기열에 있고 fitnesse가 결과를 주장하려고 시도하지만 실제 메시지에서 아직 처리되지 않았거나 처리되지 않았을 수 있습니다. 그래서 우리가 일방 통행 조작을 사용한다면 우리는 그 실행이 끝날 때까지 어떻게 든 기다려야합니다.
접근 방법, 구성을 읽어 호스팅시에 .. 확인해/
변경 OperationDescription이 시도 Fitnesse IsOneWay에서 호스팅하는 경우는 가 있지만, 생산에 IsOneWay이 True, False입니다 다음 사용자 MSMQ 있도록 생산시에만 바인딩하고 테스트에는 tcp 또는 netnamedpipe를 사용하십시오. 이 메시지의 수를 반환
우리는 사용자 정의하여 ServiceHost를 생성하고 서비스가 열리기 전에 OperationDescription이 변경하려고했으나 OperationDescription이 클래스의 IsOneWay 닷넷 프레임 워크 코드에서 전용 속성과 에 의해보고를 읽습니다. 내 의견에, 나는 서비스 호스트의 CreateDescription 작업을 재정의해야하고 사용자 정의 구현을 제공해야합니다. 그것은 보인다메시지가 처리 될 때까지 어떤 식 으로든 기다릴 수있는 Fitnesse에 모니터 고정 장치를 만듭니다.
접근법 1 : MessageId를 저장하고 상태를 완료 한 사용자 정의 db 테이블을 만들고 각 메시지 처리의 끝에서 해당 테이블에 레코드를 입력하십시오. 이제 fitnesse fixture는 테이블을 폴링하고 실행이 완료 될 때까지 기다릴 수 있습니다.
방법 2 : 어떻게 든 MSMQ를 폴링하고 메시지가 처리되는 시점을 알 수 있습니다. 우리는 여전히 작동하도록하는 방법을 재검색하는 입니다.
현재 접근법이나 새로운 접근 방법에 대한 조언을 제시하십시오.
비즈니스 조건에 대한 폴링도 고려했지만 비즈니스 조건을 폴링하면 폴링이 비즈니스 컨텍스트에 따라 변경되므로 일반화되지 않습니다. –