Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Namespace: Microsoft.Azure.Workflows.UnitTesting.Definitions
Essa classe cria uma instância simulada para um gatilho em um fluxo de trabalho do aplicativo lógico Standard. A TriggerMock
classe fornece várias maneiras de criar gatilhos fictícios para testar fluxos de trabalho Standard usando saídas estáticas, condições de erro ou comportamento dinâmico com base no contexto de execução.
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");
Construtores
Construtor com saídas estáticas
Cria uma instância simulada para TriggerMock
saídas estáticas.
public TriggerMock(TestWorkflowStatus status, string name = null, MockOutput outputs = null)
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
estado | O status do resultado do gatilho fictício | TestWorkflowStatus | Sim |
nome | O nome do gatilho fictício | corda | Não |
saídas | As saídas estáticas simuladas | MockOutput | Não |
// 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);
Construtor com informações de erro
Cria uma instância simulada para TriggerMock
com informações de erro estáticas.
public TriggerMock(TestWorkflowStatus status, string name = null, TestErrorInfo error = null)
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
estado | O status do resultado do gatilho fictício | TestWorkflowStatus | Sim |
nome | O nome do gatilho fictício | corda | Não |
erro | As informações de erro do gatilho fictício | TestErrorInfo | Não |
// 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);
Construtor com função de retorno de chamada
Cria uma instância simulada para TriggerMock
uma função de retorno de chamada para saídas dinâmicas.
public TriggerMock(Func<TestExecutionContext, TriggerMock> onGetTriggerMock, string name = null)
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
onGetTriggerMock | A função de retorno de chamada para obter o gatilho fictício | Func<TestExecutionContext, TriggerMock> | Sim |
nome | O nome do gatilho fictício | corda | Não |
// 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");
Construtor JSON
Cria uma instância simulada para TriggerMock
o JSON.
public TriggerMock(TestWorkflowStatus status, string name = null, JToken outputs = null, TestErrorInfo error = null)
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
estado | O status do resultado do gatilho fictício | TestWorkflowStatus | Sim |
nome | O nome do gatilho fictício | corda | Não |
saídas | As saídas simuladas | MockOutput | Não |
erro | O erro de simulação | TestErrorInfo | Não |
// Example: Create a mock trigger from JSON
var triggerFromJson = JsonConvert.DeserializeObject<TriggerMock>(File.ReadAllText(mockDataPath));
Propriedades
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
Nome | O nome da operação simulada | corda | Não |
Situação | O status da operação | TestWorkflowStatus | Não |
Saídas | A saída estática no formato JSON | JToken | Não |
Erro | O erro de operação | TestErrorInfo | Não |
Conteúdo relacionado
- Definição da classe ActionMock
- Definição da classe TestActionExecutionContext
- Definição da classe TestErrorInfo
- Definição da classe TestErrorResponseAdditionalInfo
- Definição da classe TestExecutionContext
- Definição da classe TestIterationItem
- Definição da classe TestWorkflowOutputParameter
- Definição da classe TestWorkflowRun
- Definição da classe TestWorkflowRunActionRepetitionResult
- Definição da classe TestWorkflowRunActionResult
- Definição da classe TestWorkflowRunTriggerResult
- Definição de enumeração TestWorkflowStatus
- Definição da classe UnitTestExecutor