Compartir a través de


Extensiones de prueba con Test Engine (versión preliminar) Dataverse

Nota

Las características en vista previa no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes del lanzamiento oficial, para que los clientes puedan obtener acceso anticipado y proporcionar comentarios.

Este artículo explica cómo crear pruebas de integración con Dataverse. Esta funcionalidad aplica la capacidad de conectarse con tablas. Power Fx Dataverse

Conectar a Dataverse

Para habilitar la integración, agregue el parámetro en sus módulos de extensión testSettings: Dataverse enableDataverseFunctions......

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableDataverseFunctions: true

Cuando habilita la Dataverse integración, se le solicita que abra la CLI de Azure con un usuario o una entidad de servicio que tenga derechos en el Dataverse entorno. Puede usar el comando: az login Más información: iniciar sesión con la CLI de Azure.

La URL de la API utilizada para la integración se obtiene del nombre de dominio del host del parámetro de ejecución de prueba de pac o definiendo una variable de entorno de PowerShell denominada Dataverse . ...--domain...DATAVERSE_URL

Habilitar la vista previa

Actualmente, todas las capacidades de prueba de extensión de Dataverse requieren el uso de funciones de vista previa. Para habilitarlos, agregue a la lista en extensionModules. PreviewallowPowerFxNamespaces...

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview
    parameters:
      enableDataverseFunctions: true

Restablecer el estado actual

Defina el controlador de eventos en su YAML de prueba creado para realizar acciones comunes antes de cada caso de prueba. onTestCaseStart Por ejemplo:

testSuite:
  testSuiteName: Dataverse tests
  testSuiteDescription: Validate Power Fx can be used to run Dataverse integration tests
  persona: User1
  appLogicalName: N/A
  onTestCaseStart: |
    = ForAll(Accounts, Remove(Accounts, ThisRecord))

En este ejemplo, se utiliza ForAll para iterar sobre una tabla y realizar una acción en cada registro. Luego, se utiliza la función Remove para eliminar cada registro de una tabla para garantizar que la tabla esté vacía antes de ejecutar cada prueba.

Funciones de interés

Estas funciones son útiles cuando se trabaja con: Dataverse

  • Recopilar: agrega registros a una tabla.
  • CountRows: Devuelve el número de registros en una tabla.
  • Primero: Devuelve el primer registro de una tabla.
  • ForAll: itera sobre una tabla y realiza una acción en cada registro.
  • Parche: Actualizar un registro existente.
  • Eliminar: elimina un registro específico de una tabla.

Consideraciones

Tenga en cuenta estas consideraciones al escribir los pasos de prueba:

  • Los valores predeterminados no son compatibles. Como resultado, no se admiten ejemplos como Power Fx . Patch(Accounts, Defaults(Accounts), {name:"test"})
  • Puedes usar Collect como alternativa a Patch con la función Defaults

Ejecución de pruebas Dataverse

Puede utilizar el proveedor ( Power Fx ) para ejecutar pruebas que interactúen conpowerfx sin la necesidad de un lienzo o una interfaz de aplicación basada en modelos. Dataverse Esto es útil para probar la lógica empresarial, complementos, flujos y otros servicios de backend.

pac test run `
   --provider powerfx `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value `
   --domain "https://contoso.crm.dynamics.com"

Integración de IA

El uso del motor de pruebas de código abierto compilado en modo Power Apps junto con las configuraciones de prueba adecuadas habilitará la función Preview.AIExecutePrompt Debug en sus pruebas. ...

Agregue lo siguiente a su configuración de prueba para habilitar la integración de IA:

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableDataverseFunctions: true
      enableAIFunctions: true

Ejemplo de uso de la función IA:

Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)