0 Tage Serie
csharp / intermediate
Snippet

Isolationstests mit funktionalen Delegaten

Durch die Übergabe eines Delegaten wie Func<string, bool> in eine Methode können Sie die Validierungslogik von der Ausführungslogik entkoppeln. Dieses Muster erleichtert Unit-Tests, da Sie 'Mock'-Verhaltensweisen ohne ein vollständiges Framework übergeben können.

snippet.cs
csharp
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Processor
{
public bool Execute(string input, Func<string, bool> validator)
{
if (!validator(input)) return false;
// Process logic
return true;
}
}
// Usage in testing context
var processor = new Processor();
bool result = processor.Execute("test", s => s.Length > 2);
Erklärung
1
Func<string, bool> validator
Ein Delegat, der eine Funktion repräsentiert, die einen String annimmt und einen Boolean zurückgibt.
2
if (!validator(input))
Ruft den übergebenen Delegaten auf, um festzustellen, ob die Verarbeitung fortgesetzt werden soll.
3
s => s.Length > 2
Ein Lambda-Ausdruck, der während des Tests als spezifische Validierungsstrategie übergeben wird.