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.
Espacio de nombres: Microsoft.Azure.Workflows.UnitTesting.Definitions
Esta clase crea una instancia ficticia para un desencadenador en un flujo de trabajo de aplicación lógica estándar. La TriggerMock
clase proporciona varias maneras de crear desencadenadores ficticios para probar flujos de trabajo estándar mediante salidas estáticas, condiciones de error o comportamiento dinámico en función del contexto de ejecución.
Uso
// Simple trigger mock with success status
var successTrigger = new TriggerMock(TestWorkflowStatus.Succeeded, "HttpTrigger");
// Trigger mock with specific outputs
var outputTrigger = new TriggerMock(
TestWorkflowStatus.Succeeded,
"EmailTrigger",
new MockOutput {
Body = JToken.Parse(@"{""subject"": ""Test Email"", ""from"": ""test@example.com""}")
});
// Failed trigger with error information
var failedTrigger = new TriggerMock(
TestWorkflowStatus.Failed,
"DatabaseTrigger",
new TestErrorInfo(
ErrorResponseCode.ConnectionError,
"Failed to connect to database"
));
// Dynamic trigger that changes behavior based on execution context
var dynamicTrigger = new TriggerMock(
(context) => {
var actionName = context.ActionContext.ActionName;
if (actionName == "ProcessOrder") {
return new TriggerMock(
TestWorkflowStatus.Succeeded,
"OrderTrigger",
new MockOutput { Body = JToken.Parse(@"{""orderId"": 12345}") }
);
}
return new TriggerMock(TestWorkflowStatus.Failed, "OrderTrigger");
},
"ContextAwareTrigger");
Constructores
Constructor con salidas estáticas
Crea una instancia ficticia para TriggerMock
con salidas estáticas.
public TriggerMock(TestWorkflowStatus status, string name = null, MockOutput outputs = null)
Nombre | Descripción | Tipo | Obligatorio |
---|---|---|---|
estado | Estado del resultado del desencadenador ficticio | TestWorkflowStatus | Sí |
nombre | El nombre del desencadenador ficticio | cuerda / cadena | No |
Salidas | Salidas estáticas ficticias | MockOutput | No |
// Example: Create a mock trigger with successful status and static outputs
var outputs = new MockOutput {
Body = JToken.Parse(@"{""webhookData"": ""sample payload""}")
};
var triggerMock = new TriggerMock(TestWorkflowStatus.Succeeded, "WebhookTrigger", outputs);
Constructor con información de error
Crea una instancia ficticia para TriggerMock
con información de error estática.
public TriggerMock(TestWorkflowStatus status, string name = null, TestErrorInfo error = null)
Nombre | Descripción | Tipo | Obligatorio |
---|---|---|---|
estado | Estado del resultado del desencadenador ficticio | TestWorkflowStatus | Sí |
nombre | El nombre del desencadenador ficticio | cuerda / cadena | No |
error | Información de error del desencadenador ficticio | TestErrorInfo | No |
// Example: Create a mock trigger with failed status and error information
var errorInfo = new TestErrorInfo(
ErrorResponseCode.Unauthorized,
"Authentication failed for trigger"
);
var triggerMock = new TriggerMock(TestWorkflowStatus.Failed, "SecureTrigger", errorInfo);
Constructor con función de devolución de llamada
Crea una instancia ficticia para TriggerMock
con una función de devolución de llamada para salidas dinámicas.
public TriggerMock(Func<TestExecutionContext, TriggerMock> onGetTriggerMock, string name = null)
Nombre | Descripción | Tipo | Obligatorio |
---|---|---|---|
onGetTriggerMock | Función de devolución de llamada para obtener el desencadenador ficticio | Func<TestExecutionContext, TriggerMock> | Sí |
nombre | El nombre del desencadenador ficticio | cuerda / cadena | No |
// Example: Create a mock trigger with dynamic outputs based on execution context
var triggerMock = new TriggerMock(
(context) => {
var inputs = context.ActionContext.ActionInputs;
var eventType = inputs["eventType"]?.Value<string>();
// Return different mock based on event type
if (eventType == "priority") {
return new TriggerMock(
TestWorkflowStatus.Succeeded,
"EventTrigger",
new MockOutput { Body = JToken.Parse(@"{""priority"": true}") }
);
}
return new TriggerMock(TestWorkflowStatus.Succeeded, "EventTrigger");
},
"ConditionalEventTrigger");
Constructor JSON
Crea una instancia ficticia para TriggerMock
a partir de JSON.
public TriggerMock(TestWorkflowStatus status, string name = null, JToken outputs = null, TestErrorInfo error = null)
Nombre | Descripción | Tipo | Obligatorio |
---|---|---|---|
estado | Estado del resultado del desencadenador ficticio | TestWorkflowStatus | Sí |
nombre | El nombre del desencadenador ficticio | cuerda / cadena | No |
Salidas | Salidas ficticias | MockOutput | No |
error | El error ficticio | TestErrorInfo | No |
// Example: Create a mock trigger from JSON
var triggerFromJson = JsonConvert.DeserializeObject<TriggerMock>(File.ReadAllText(mockDataPath));
Propiedades
Nombre | Descripción | Tipo | Obligatorio |
---|---|---|---|
Nombre | Nombre de la operación ficticia | cuerda / cadena | No |
Estado | Estado de la operación | TestWorkflowStatus | No |
Salidas | Salida estática en formato JSON | JToken | No |
Error | Error de operación | TestErrorInfo | No |
Contenido relacionado
- Definición de clase ActionMock
- Definición de clase TestActionExecutionContext
- Definición de clase TestErrorInfo
- Definición de clase TestErrorResponseAdditionalInfo
- Definición de clase TestExecutionContext
- Definición de clase TestIterationItem
- Definición de clase TestWorkflowOutputParameter
- TestWorkflowRun (definición de clase)
- Definición de clase TestWorkflowRunActionRepetitionResult
- Definición de clase TestWorkflowRunActionResult
- Definición de clase TestWorkflowRunTriggerResult
- Definición de enumeración TestWorkflowStatus
- Definición de clase UnitTestExecutor