Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ad Alanı: Microsoft.Azure.Workflows.UnitTesting.Definitions
Bu sınıf, Standart mantıksal uygulama iş akışında tetikleyici için bir sahte örnek oluşturur. sınıfı, TriggerMock yürütme bağlamı temelinde statik çıkışlar, hata koşulları veya dinamik davranış kullanarak Standart iş akışlarını test etmek için sahte tetikleyiciler oluşturmak için birden çok yol sağlar.
Kullanım
// 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");
Kurucular
Statik çıkışları olan oluşturucu
Statik çıkışlarla için TriggerMock bir sahte örnek oluşturur.
public TriggerMock(TestWorkflowStatus status, string name = null, MockOutput outputs = null)
| İsim | Açıklama | Türü | Gerekli |
|---|---|---|---|
| statü | Sahte tetikleyici sonuç durumu | TestWorkflowStatus | Evet |
| isim | Sahte tetikleyici adı | String | Hayı |
| Çıktılar | Sahte statik çıkışlar | MockOutput | Hayı |
// 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);
Hata bilgilerini içeren oluşturucu
statik hata bilgileriyle için TriggerMock bir sahte örnek oluşturur.
public TriggerMock(TestWorkflowStatus status, string name = null, TestErrorInfo error = null)
| İsim | Açıklama | Türü | Gerekli |
|---|---|---|---|
| statü | Sahte tetikleyici sonuç durumu | TestWorkflowStatus | Evet |
| isim | Sahte tetikleyici adı | String | Hayı |
| hata | Sahte tetikleyici hata bilgileri | TestErrorInfo | Hayı |
// 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);
Geri çağırma işlevine sahip oluşturucu
Dinamik çıkışlar için geri çağırma işleviyle için TriggerMock bir sahte örnek oluşturur.
public TriggerMock(Func<TestExecutionContext, TriggerMock> onGetTriggerMock, string name = null)
| İsim | Açıklama | Türü | Gerekli |
|---|---|---|---|
| onGetTriggerMock | Sahte tetikleyiciyi almak için geri çağırma işlevi | Func<TestExecutionContext, TriggerMock> | Evet |
| isim | Sahte tetikleyici adı | String | Hayı |
// 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 oluşturucu
JSON'dan için TriggerMock bir sahte örnek oluşturur.
public TriggerMock(TestWorkflowStatus status, string name = null, JToken outputs = null, TestErrorInfo error = null)
| İsim | Açıklama | Türü | Gerekli |
|---|---|---|---|
| statü | Sahte tetikleyici sonuç durumu | TestWorkflowStatus | Evet |
| isim | Sahte tetikleyici adı | String | Hayı |
| Çıktılar | Sahte çıkışlar | MockOutput | Hayı |
| hata | Sahte hata | TestErrorInfo | Hayı |
// Example: Create a mock trigger from JSON
var triggerFromJson = JsonConvert.DeserializeObject<TriggerMock>(File.ReadAllText(mockDataPath));
Özellikler
| İsim | Açıklama | Türü | Gerekli |
|---|---|---|---|
| İsim | Sahte işlemin adı | String | Hayı |
| Statü | İşlem durumu | TestWorkflowStatus | Hayı |
| Çıktılar | JSON biçiminde statik çıkış | JToken | Hayı |
| Hata | İşlem hatası | TestErrorInfo | Hayı |
İlgili içerik
- ActionMock Sınıf Tanımı
- TestActionExecutionContext Sınıf Tanımı
- TestErrorInfo Sınıf Tanımı
- TestErrorResponseAdditionalInfo Sınıf Tanımı
- TestExecutionContext Sınıf Tanımı
- TestIterationItem Sınıf Tanımı
- TestWorkflowOutputParameter Sınıf Tanımı
- TestWorkflowRun Sınıf Tanımı
- TestWorkflowRunActionRepetitionResult Sınıf Tanımı
- TestWorkflowRunActionResult Sınıf Tanımı
- TestWorkflowRunTriggerResult Sınıf Tanımı
- TestWorkflowStatus Sabit Listesi Tanımı
- UnitTestExecutor Sınıf Tanımı