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 uma ação em um fluxo de trabalho de aplicativo lógico Standard. A *ActionMock
classe fornece várias maneiras de criar ações simuladas para testar fluxos de trabalho Standard com saídas estáticas, condições de erro ou comportamento dinâmico com base no contexto de execução.
Uso
// Simple mock action with success status
var successAction = new ActionMock(TestWorkflowStatus.Succeeded, "SendEmail");
// A mock action with specific outputs
var outputAction = new ActionMock(
TestWorkflowStatus.Succeeded,
"HttpRequest",
new MockOutput {
StatusCode = 200,
Headers = JToken.Parse(@"{""Content-Type"": ""application/json""}"),
Body = JToken.Parse(@"{""result"": ""success"", ""id"": 12345}")
});
// Failed action with error information
var failedAction = new ActionMock(
TestWorkflowStatus.Failed,
"DatabaseWrite",
new TestErrorInfo(
ErrorResponseCode.BadRequest,
"Database connection failed"
));
// Dynamic action that changes behavior based on execution context
var dynamicAction = new ActionMock(
(context) => {
var inputs = context.ActionContext.ActionInputs;
var amount = (int)inputs["amount"];
if (amount > 1000) {
return new ActionMock(TestWorkflowStatus.Failed, "PaymentProcessing",
new TestErrorInfo(ErrorResponseCode.BadRequest, "Amount exceeds limit"));
}
return new ActionMock(TestWorkflowStatus.Succeeded, "PaymentProcessing",
new MockOutput { Body = JToken.Parse(@"{""transactionId"": ""ABC123""}") });
},
"DynamicPaymentAction");
Construtores
Construtor com saídas estáticas
Cria uma instância simulada para ActionMock
saídas estáticas.
public ActionMock(TestWorkflowStatus status, string name = null, MockOutput outputs = null)
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
estado | O status do resultado da ação simulada. | TestWorkflowStatus | Sim |
nome | O nome da ação simulada. | corda | Não |
saídas | As saídas estáticas simuladas. | MockOutput | Não |
// Example: Create a mock action with successful status and static outputs
var outputs = new MockOutput {
Body = JToken.Parse(@"{""result"": ""Operation completed""}"),
StatusCode = 200
};
var actionMock = new ActionMock(TestWorkflowStatus.Succeeded, "ProcessData", outputs);
Construtor com informações de erro
Cria uma instância simulada para ActionMock
com informações de erro estáticas.
public ActionMock(TestWorkflowStatus status, string name = null, TestErrorInfo error = null)
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
estado | O status do resultado da ação simulada. | TestWorkflowStatus | Sim |
nome | O nome da ação simulada. | corda | Não |
erro | As informações de erro de ação simulada. | TestErrorInfo | Não |
// Example: Create an action mock with failed status and error information
var errorInfo = new TestErrorInfo(
ErrorResponseCode.InternalServerError,
"Service temporarily unavailable"
);
var actionMock = new ActionMock(TestWorkflowStatus.Failed, "ExternalAPICall", errorInfo);
Construtor com função de retorno de chamada
Cria uma instância simulada para ActionMock
uma função de retorno de chamada para saídas dinâmicas.
public ActionMock(Func<TestExecutionContext, ActionMock> onGetActionMock, string name = null)
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
onGetActionMock | A função de retorno de chamada para obter a ação simulada | Func<TestExecutionContext, ActionMock> | Sim |
nome | O nome da ação simulada | corda | Não |
// Example: Create a mock action with dynamic outputs based on execution context
var actionMock = new ActionMock(
(context) => {
var actionName = context.ActionContext.ActionName;
var inputs = context.ActionContext.ActionInputs;
// Determine outputs dynamically based on context
if (actionName == "ValidateUser" && inputs["userId"]?.Value<int>() > 0) {
return new ActionMock(
TestWorkflowStatus.Succeeded,
"ValidateUser",
new MockOutput { Body = JToken.Parse(@"{""isValid"": true}") }
);
}
return new ActionMock(TestWorkflowStatus.Failed, "ValidateUser");
},
"ConditionalValidation");
Construtor JSON
Cria uma instância simulada para ActionMock
o JSON.
internal ActionMock(TestWorkflowStatus status, string name = null, JToken outputs = null, TestErrorInfo error = null)
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
estado | O status do resultado da ação simulada. | TestWorkflowStatus | Sim |
nome | O nome da ação simulada. | corda | Não |
saídas | As saídas simuladas. | MockOutput | Não |
erro | O erro fictício. | TestErrorInfo | Não |
// Example: Create a mock action from JSON
var actionFromJson = JsonConvert.DeserializeObject<ActionMock>(File.ReadAllText(mockDataPath));
Propriedades
Essa classe herda as seguintes propriedades da OperationMock
classe base.
Nome | Descrição | Tipo | Obrigatório |
---|---|---|---|
Nome | Obtém ou define o nome da operação simulada. | corda | Não |
Situação | Obtém ou define o status da operação. | TestWorkflowStatus | Não |
Saídas | Obtém ou define um valor que representa a saída estática no formato JSON. | JToken | Não |
Erro | Obtém ou define o erro da operação. | TestErrorInfo | Não |