SOAPHTTPRequestResponseStep Peculiarity

Nov 24, 2009 at 4:15 PM

Hi,

I am trying to put together a test to call a number of BizTalk web services, and have found myself at a bit of a curious road block.

So far I have three web service calls defined for use with BizUnit, in NUnit these present themselves as:

BizUnitTests

Arrears

ArrearsAccountData

GetArrearsAccountData

ArrearsGeneralDetails

GetArrearsGeneralDetails

UpdateArrearsGeneralDetails

 

The ones in bold are the individual tests, each doing a simple call to a web method.  The Getxxxx methods are both on the same web services, whereas the Update is on a seperate web service.  They are all of the type:

<TestCase testName="GetArrearsAccountData">

 <TestSetup>
 </TestSetup>

 <TestExecution>
      <TestStep assemblyPath="" typeName="BizUnit.SOAPHTTPRequestResponseStep">
           <WebServiceWSDLURL>http://d-cbsbiz02/EAEArrearsServices/Inquiries.asmx?WSDL</WebServiceWSDLURL>
           <ServiceName>Inquiries</ServiceName>
           <WebMethod>GetArrearsAccountData</WebMethod>
           <InputMessageTypeName>GetArrearsAccountDataRequest</InputMessageTypeName>
         <MessagePayload>C:\SourceSafe\Testing\CBS\BizTalk\BizUnitTests\Arrears\ArrearsAccountData\GetArrearsAccountDataRequest.xml</MessagePayload>

     <ValidationStep assemblyPath="" typeName="BizUnit.XmlValidationStep">
           <XmlSchemaNameSpace>http://XML.Schemas.Arrears.WebServices.GetArrearsAccountDataResponse</XmlSchemaNameSpace>      
           <XPathList>
               <XPathValidation query="/*[local-name()='GetArrearsAccountDataResponse' and namespace-uri()='']/*[local-name()='Body' and namespace-uri()='']/*[local-name()='ArrearsAccountData' and namespace-uri()='']/*[local-name()='AccountNumber' and namespace-uri()='']">12121212</XPathValidation>
              <XPathValidation query="/*[local-name()='GetArrearsAccountDataResponse' and namespace-uri()='']/*[local-name()='Body' and namespace-uri()='']/*[local-name()='ArrearsAccountData' and namespace-uri()='']/*[local-name()='AccountName' and namespace-uri()='']">smith</XPathValidation>
    </XPathList>
   </ValidationStep>
  </TestStep>
 </TestExecution>

 <!-- Test cleanup: test cases should always leave the system in the state they found it -->
 <TestCleanup>
 </TestCleanup>
</TestCase>

The problem I have is that when I run the full test, the Getxxx tests are successful, and the Updatexxx fails with:

System.TypeLoadException: Could not load type 'BizUnit.Proxy.UpdateArrearsGeneralDetailsRequest' from assembly 'TestFrameWorkProxy0, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'

If I then reload the tests and run only the Updatexxx test this is then sucessful.  Following this if I run any of the Getxxx tests they will fail with the error type as seen above.

Reloading the tests and running a Getxxx test first will succeed, but will then break the Updatexxx test!

It is as though the first test to run is causing something to get stuck, preventing any successful tests of the other web service. 

If anyone has any ideas, please let me know.

Cheers

Stu.