Spesso, quando siamo nelle prime fasi di sviluppo di un nostro sito web, o stiamo definendo il contratto di una nuova API, fa comodo avere a disposizione una serie di dati di test per poter "visualizzare" il risultato delle varie chiamate.
Scrivere del codice boilerplate che si occupi di restituire questi dati di test è sicuramente tedioso. Fortunatamente, possiamo sfruttare la libreria GenFu per raggiungere lo stesso risultato in maniera estremamente più veloce.
Immaginiamo di avere definito una classe Person:
public class Person { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Email { get; set; } }
Il primo passo è aggiungere il package NuGet al nostro progetto:
Install-Package GenFu
A questo punto possiamo sfruttare la classe A per configurare il tipo di risposta che vogliamo:
[HttpGet] public ActionResult<IEnumerable<Person>> Get() { return A.ListOf<Person>(20); } [HttpGet("{id}")] public ActionResult<Person> GetById(int id) { return A.New<Person>(); }
In base al nome delle proprietà, GenFu sarà in grado di restituire dati "verosimili" per il tipo che abbiamo specificato:

In casi più complessi, il comportamento della libreria può essere anche configurato in maniera specifica. Per questo tipo di casistiche, è possibile consultare i vari tutorial disponibili sulla pagina ufficiale GitHub (https://github.com/MisterJames/GenFu).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare gRPC su App Service di Azure
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Gestire i dati con Azure Cosmos DB Data Explorer
Anonimizzare i dati sensibili nei log di Azure Front Door
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Collegare applicazioni server e client con .NET Aspire
Creare una custom property in GitHub
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Creare una libreria CSS universale: Cards
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub