Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Espaço de nomes: Microsoft.Azure.Workflows.UnitTesting.Definitions
Essa classe cria uma instância simulada para um gatilho em um fluxo de trabalho de aplicativo lógico padrão. A TriggerMock
classe fornece várias maneiras de criar gatilhos fictícios para testar fluxos de trabalho padrão usando saídas estáticas, condições de erro ou comportamento dinâmico com base no contexto de execução.
Utilização
// 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 ocorrência simulada para TriggerMock
com saídas estáticas.
public TriggerMock(TestWorkflowStatus status, string name = null, MockOutput outputs = null)
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
Situação | O status do resultado do gatilho simulado | TestWorkflowStatus | Sim |
nome | O nome do gatilho simulado | corda | Não |
saídas | As saídas estáticas simuladas | Saída Simulada | 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ático.
public TriggerMock(TestWorkflowStatus status, string name = null, TestErrorInfo error = null)
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
Situação | O status do resultado do gatilho simulado | TestWorkflowStatus | Sim |
nome | O nome do gatilho simulado | corda | Não |
erro | As informações de erro de gatilho simulado | 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
com 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 simulado | Func<TestExecutionContext, TriggerMock> | Sim |
nome | O nome do gatilho simulado | 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");
JSON construtor
Cria uma instância simulada para TriggerMock
a partir de JSON.
public TriggerMock(TestWorkflowStatus status, string name = null, JToken outputs = null, TestErrorInfo error = null)
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
Situação | O status do resultado do gatilho simulado | TestWorkflowStatus | Sim |
nome | O nome do gatilho simulado | corda | Não |
saídas | As saídas simuladas | Saída Simulada | Não |
erro | O erro simulado | 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 de classe do ActionMock
- TestActionExecutionContext Definição de classe
- Definição de classe TestErrorInfo
- TestErrorResponseAdditionalInfo Definição de classe
- TestExecutionContext Definição de classe
- TestIterationItem Definição de classe
- TestWorkflowOutputParameter Definição de classe
- Definição de classe TestWorkflowRun
- Definição de classe TestWorkflowRunActionRepetitionResult
- Definição de classe TestWorkflowRunActionResult
- Definição de classe TestWorkflowRunTriggerResult
- Definição de Enum TestWorkflowStatus
- Definição de classe UnitTestExecutor