Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
BizUnit ofrece dos maneras de definir pruebas: a través de un archivo de configuración XML y a través de una hoja de cálculo de Excel. Este tema se centra en el uso de un archivo de configuración XML para definir pruebas; sin embargo, también debe examinar el SDK de BizUnit, ya que proporciona un ejemplo interesante de cómo definir casos de prueba de BizUnit mediante Excel. Además, puede que desee investigar la herramienta BizUnit Designer, que proporciona una GUI que permite la creación rápida de casos de prueba de BizUnit. En este tema se proporciona información general sobre cómo definir casos de prueba mediante la configuración XML mediante un escenario muy simplificado.
Información general sobre cómo definir un caso de prueba de BizUnit mediante la configuración XML
Como se acaba de indicar, este escenario se simplifica con fines ilustrativos. Considere una aplicación de mensajería de ejemplo, como la que se muestra a continuación. Supongamos que el comportamiento funcional normal de esta aplicación es que BizTalk recibe un archivo XML a través de una ubicación de recepción de archivos y, a continuación, lo envía a un suscriptor adecuado basado en una suscripción. Para validar este escenario de forma eficaz, es importante realizar los pasos siguientes en la prueba:
Configure el entorno para asegurarse de que está en un estado coherente y listo para que se ejecute la prueba:
- Para ello, se eliminan los archivos que están presentes en las dos ubicaciones de archivo usadas.
Ejecute la prueba para comprobar la funcionalidad:
Cree un mensaje XML válido en la carpeta en la que sondea la ubicación de recepción del archivo.
Compruebe que el mensaje XML correcto se coloca en la ubicación de la carpeta saliente.
La validación debe abarcar tanto el esquema como la información de carga del mensaje. (Normalmente, se deben examinar un par de campos clave).
Limpie el entorno para asegurarse de que el entorno está en el mismo estado que antes de ejecutar la prueba:
- Elimine los archivos que estén presentes en las dos ubicaciones de archivo usadas.
de ejemplo
Aplicación de mensajería de BizTalk de ejemploCada caso de prueba comienza y termina con la etiqueta XML TestCase; El parámetro testName se pasa a esto como se indica aquí.
<TestCase testName="Test_01_FILECopyWithXmlValidation">
A continuación, entramos en la fase TestSetup, en la que nos aseguramos de que el entorno está en un estado coherente para ejecutar la prueba. En este ejemplo, se eliminan todos los mensajes XML contenidos en nuestro directorio TestData. Esto se hace mediante FileDeleteMultipleStep.
<TestSetup>
<TestStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.FileDeleteMultipleStep">
<Directory>..\..\..\TestData\</Directory>
<SearchPattern>*.xml</SearchPattern>
</TestStep>
</TestSetup>
A continuación, especificamos cuál es la sección más crítica de la prueba, la fase de ejecución de la prueba. Esta fase puede contener varios pasos de prueba. En este ejemplo usamos FileCreateStep para copiar un documento (InDoc1.xml que aparece en la etiqueta <SourcePath> ) a una ubicación de entrega de archivos que utiliza nuestro punto de recepción. Es importante tener en cuenta que BizUnit admite el uso de identificadores únicos para nombres de archivo en este paso; Esto se puede ver con la referencia de %Guid% en la etiqueta CreationPath.
Una vez completado esto, es necesario usar FileValidateStep para validar que se ha creado el mensaje saliente. Observará que este paso le permite especificar un valor de tiempo de espera (esto está en milisegundos), el directorio y el patrón de búsqueda. Además de esto, la etiqueta DeleteFile permite especificar si desea que el archivo se quite después de validarlo. Por último, también debe tener en cuenta que la validación incluye una consulta XPath, que valida el nodo PONumber dentro del mensaje XML (comprueba que el valor es PONumber_0). Examen y validación de la carga de cualquier mensaje saliente es otro ejemplo de un principio rector que debe seguir al usar BizUnit.
<TestExecution>
<TestStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.FileCreateStep">
<SourcePath>..\..\..\TestData\InDoc1.xml</SourcePath>
<CreationPath>..\..\..\Rec_03\TransactionId_%Guid%.xml</CreationPath>
</TestStep>
<TestStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.FileValidateStep">
<Timeout>3000</Timeout>
<Directory>..\..\..\Rec_03\</Directory>
<SearchPattern>TransactionId_*.xml</SearchPattern>
<DeleteFile>true</DeleteFile>
<ValidationStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.XmlValidationStep">
<XmlSchemaPath>..\..\..\TestData\PurchaseOrder.xsd</XmlSchemaPath>
<XmlSchemaNameSpace>http://SendMail.PurchaseOrder</XmlSchemaNameSpace>
<XPathList>
<XPathValidation query="/*[local-name()='PurchaseOrder' and namespace-uri()='http://SendMail.PurchaseOrder']/*[local-name()='PONumber' and namespace-uri()='']">PONumber_0</XPathValidation>
</XPathList>
</ValidationStep>
</TestStep>
</TestExecution>
La fase final del caso de prueba es la limpieza. Como se puede ver aquí, el paso de prueba FileDelete se usa para limpiar los directorios usados por la prueba.
<TestCleanup>
<TestStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.FileDeleteMultipleStep">
<Directory>..\..\..\TestData\</Directory>
<SearchPattern>*.xml</SearchPattern>
</TestStep>
<TestStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.FileDeleteMultipleStep">
<Directory>..\..\..\Rec_03\</Directory>
<SearchPattern>*.xml</SearchPattern>
</TestStep>
</TestCleanup>
Esperemos que este ejemplo muestre que la definición de pruebas en BizUnit es relativamente sencilla y que, mediante este marco de pruebas, podrá desarrollar rápidamente casos de prueba para proporcionar pruebas funcionales de la aplicación.
Ejemplo completo del caso de prueba
El contenido completo del archivo de configuración del caso de prueba se incluye aquí para su referencia:
<TestCase testName="Test_01_FILECopyWithXmlValidation">
<TestSetup>
<TestStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.FileDeleteMultipleStep">
<Directory>..\..\..\TestData\</Directory>
<SearchPattern>*.xml</SearchPattern>
</TestStep>
</TestSetup>
<TestExecution>
<TestStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.FileCreateStep">
<SourcePath>..\..\..\TestData\InDoc1.xml</SourcePath>
<CreationPath>..\..\..\Rec_03\TransactionId_%Guid%.xml</CreationPath>
</TestStep>
<TestStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.FileValidateStep">
<Timeout>3000</Timeout>
<Directory>..\..\..\Rec_03\</Directory>
<SearchPattern>TransactionId_*.xml</SearchPattern>
<DeleteFile>true</DeleteFile>
<ValidationStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.XmlValidationStep">
<XmlSchemaPath>..\..\..\TestData\PurchaseOrder.xsd</XmlSchemaPath>
<XmlSchemaNameSpace>http://SendMail.PurchaseOrder</XmlSchemaNameSpace>
<XPathList>
<XPathValidation query="/*[local-name()='PurchaseOrder' and namespace-uri()='http://SendMail.PurchaseOrder']/*[local-name()='PONumber' and namespace-uri()='']">PONumber_0</XPathValidation>
</XPathList>
</ValidationStep>
</TestStep>
</TestExecution>
<!-- Test cleanup: test cases should always leave the system in the state they found it -->
<TestCleanup>
<TestStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.FileDeleteMultipleStep">
<Directory>..\..\..\TestData\</Directory>
<SearchPattern>*.xml</SearchPattern>
</TestStep>
<TestStep assemblyPath="" typeName="Microsoft.Services.BizTalkApplicationFramework.BizUnit.FileDeleteMultipleStep">
<Directory>..\..\..\Rec_03\</Directory>
<SearchPattern>*.xml</SearchPattern>
</TestStep>
</TestCleanup>
</TestCase>