trabajo flujo crear como aprobacion acciones sharepoint unit-testing k2

sharepoint - crear - Unidad/Prueba automatizada en un sistema de flujo de trabajo



como crear un flujo de trabajo en sharepoint 2016 (5)

Esta es la solución que uso. Este es un envoltorio simple alrededor del tiempo de ejecución que permite ejecutar una sola actividad, simplifica el paso de los parámetros, bloquea el hilo de invocación hasta que se realiza el flujo de trabajo o la actividad, y traduce / vuelve a generar excepciones si las hay. Como mi flujo de trabajo solo envía o espera mensajes a través de un servicio de flujo de trabajo personalizado, puedo simular el servicio para esperar ciertos mensajes del flujo de trabajo y publicar ciertos mensajes y aquí estoy realizando pruebas de unidad reales para mi WF. El mérito de la tecnología recae en Michael Kennedy.

¿Hace pruebas automatizadas en un sistema de flujo de trabajo complejo como K2?

Estamos construyendo un sistema con una amplia integración entre Sharepoint 2007 y K2. Ni siquiera puedo imaginar por dónde comenzar con las pruebas automatizadas, ya que el flujo de trabajo involucra a múltiples usuarios que interactúan con flujos de trabajo Sharepoint, K2 y páginas web personalizadas.

¿Alguien ha hecho pruebas automatizadas en un servidor de flujo de trabajo como K2? ¿Es más esfuerzo de lo que vale?


Acabamos de escribir hoy una aplicación que supervisa nuestra lista de trabajo K2, recoge ciertas tareas de la misma, completa algunos datos y envía las tareas para su finalización. Esto nos permite realizar pruebas automáticas, encontrar regresiones y ejecutar tantas rutas diferentes del flujo de trabajo en una fracción del tiempo que le tomaría a la gente hacerlo. Me imagino que se podría escribir un programa similar para fingir que es compartir.

En cuanto a la prueba unitaria de los elementos del flujo de trabajo, tenemos un dll al que se hace referencia desde k2, que contiene toda nuestra regla de línea y lógica de procesamiento. No tenemos ningún código en los flujos de trabajo de k2 en sí, todo está referenciado desde estos dlls. Esto nos permite escribir fácilmente pruebas unitarias sobre ellos para probar todas las reglas de línea individuales.


Si va a realizar pruebas unitarias, Typemock Isolator es la única herramienta que actualmente puede simular objetos de SharePoint.

Y, por cierto, Richard Fennell está trabajando en una solución de burla de flujo de trabajo aquí.


Estoy teniendo un problema similar al probar la aplicación basada en MOSS de flujo de trabajo pesado. Los flujos de trabajo en nuestro caso se basan en WWF.

Mi idea es burlar prácticamente todo lo que no se puede controlar con pruebas unitarias: almacenamiento de documentos, autenticación, derechos y acciones de los usuarios, partes de flujos de trabajo compartidas para sharepoint (estos simulacros deben probarse exhaustivamente para reflejar el comportamiento de los componentes reales) .

Utiliza la inversión de control para hacer que el código elija qué componente usar en tiempo de ejecución: real o simulado.

Luego, puede escribir pruebas en todo el sistema para probar el comportamiento de los flujos de trabajo: configurar su propio entorno y comprobar cómo reacciona el motor del flujo de trabajo. Estas pruebas son demasiado grandes para llamarlas pruebas unitarias, aún así es una prueba automatizada.

Este enfoque parece funcionar en casos triviales, pero aún tengo que demostrar que es digno de usar en flujos de trabajo del mundo real.


Realicé pruebas de integración automatizadas en flujos de trabajo K2 utilizando la API K2ROM (probablemente SourceCode.Workflow.Client si está utilizando K2 blackpearl).

Básicamente inicias un proceso en un servidor de prueba con una publicación conocida (genero un GUID), luego utilizo la API de administración para eliminarlo luego. Escribí métodos de ayuda como AssertAtClientActivity (básicamente llama a ProvideWorkItem con criterios).

Utilice el parámetro IsSynchronous para StartProcessInstance, WorklistItem.Finish, etc. de modo que las llamadas a métodos relevantes no se devuelvan hasta que la instancia del proceso haya alcanzado un estado estable.

Espere que las pruebas sean lentas y ocasionalmente falle. Estas no son pruebas unitarias.

Si desea escribir pruebas unitarias contra otros sistemas, probablemente quiera ajustar la API K2.

Considere mirar Windows Workflow 4 y las nuevas características del flujo de trabajo en SharePoint 2010 . Puede que no necesites K2.