2009-02-04 17 views
6

He estado trabajando con un repositorio de documentos usando XQuery (a través de interfaces Java y .NET) y me preguntaba si alguien tiene alguna recomendación para probar unidades de módulos XQuery.Pruebas unitarias XQuery

Respuesta

1

Aquí hay una solución rápida de tipo DIY para este problema: Poor man's unit testing with XQuery (enlace muerto).

Este enfoque parece haberse adoptado y ampliado para las pruebas del proyecto xprocxq.

Existen otras herramientas, por ejemplo XTC.

+0

Blog se ha ido, vínculo se rompe – mbrevoort

+0

haber actualizado para reflejar esta respuesta –

0

Este enlace puede mejorar su desarrollo. Esta es solo una idea, pero puede desarrollar y mejorar más sobre esto con varias ideas de diseño de casos de prueba de unidad.

ya que Xml es un rey en el mundo de los metadatos, es bastante fácil de diseñar y ejecutar.

  1. diseño un XML de casos de prueba por tener todos los detalles de la captura

    1. de prueba de datos (entrada & resultado esperado)
    2. caso de prueba Identificación del caso de prueba
    3. métodos locales
  2. invocar dinámicamente en función de los detalles.

functions

sample test script

results

0

Trate XQSuite

Es bastante resbaladiza; aquí está el "ejemplo mínima":

declare namespace test="http://exist-db.org/xquery/xqsuite";

declare function %test:assertEquals("Hello world") local:hello() { "Hello world" };

Además, XSpec funciona de maravilla para las pruebas de XSLT (resultados de las pruebas HTML proporciona un formato agradable, por ejemplo) pero parece que necesita un poco de trabajo con XQuery pruebas. El proyecto parece haberse vuelto inactivo en los últimos años.

2

Existen varios marcos de prueba de unidades XQuery, pero la mayoría están escritos para un propósito específico para un procesador XQuery específico.Esta no es una lista completa, pero incluye la mayoría de los más populares Soy consciente de:

MarkLogic

Unidad Roxy probador https://github.com/marklogic/roxy/wiki/Unit-Testing

XQUT https://github.com/mblakele/xqut

radiografía https://github.com/robwhitby/xray

eXist

XQSuite http://exist-db.org/exist/apps/doc/xqsuite.xml

BaseX

Unidad XQuery Módulo http://docs.basex.org/wiki/Unit_Module