Das Testen von Funktions-App-Einheiten mit GetInput und Daten-Repository-Rückgabe funktioniert nichtC#

Ein Treffpunkt für C#-Programmierer
Guest
 Das Testen von Funktions-App-Einheiten mit GetInput und Daten-Repository-Rückgabe funktioniert nicht

Post by Guest »

Beim Ausführen eines Komponententests scheint es nicht so zu sein, dass die Repo-/Datenrückgabe fortgesetzt wird, um die Verarbeitung fortzusetzen, sondern nur ein schneller Vorlauf zur Rückgabe erfolgt. Der Kern des Codes ist:

Code: Select all

namespace program
{
[FunctionName("Processor")]
public static async Task Processor([OrchestrationTrigger] IDurableOrchestrationContext context, ILogger log)
{
var eventDetails =  context.GetInput();
IRepoData repo = null;
List list;
try
{
repo = Repository();
list = repo.GetEntityList(Guid.Parse(entitydataobject.Guid), entitydataobject.Name);
}
catch(Exception ex)
{
log.LogError("Processor Error: " + ex.Message);
}
}

public static IRepoData Repository()
{
try
{
return new RepoData("Data Source=instance.local;Initial Catalog=database;integrated security=True;MultipleActiveResultSets=True;");
}
catch (Exception ex)
{
throw new Exception("Repository Error: " + ex.Message);
}
}
}
Das Wesentliche des Unit-Tests:

Code: Select all

namespace Test
{
[TestClass]
[ExcludeFromCodeCoverage]
public class ProcessorTests
{
var mockContext = new Mock();
var inputData = JsonConvert.DeserializeObject(File.ReadAllText("file.json"));
var list = new List();
var repository = new Mock();
var log = new Mock();
list.Add(new Guid());
list.Add(new Guid());
repository.Setup(repo => repo.GetEntityIdList(Guid.Parse("4D47AF6C-0000-0000-0000-000000000000", "string").Returns(list);
mockContext.Setup(x => x.GetInput()).Returns(entitydataobject);
var result = program.Processor(context.Object, log.Object);
Assert.IsTrue(result.Result);
}
}
Ich vermute, dass das Repository-Setup nicht durchlaufen wird.
Ich habe versucht, es in VS 2022 auszuführen, und es schreitet bis zum Punkt voran Repository/GetEntityList, überspringt es aber einfach/füllt die Liste nicht auf.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post