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
Load test di ASP.NET Core con k6
Utilizzare gli snapshot con Azure File shares
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Semplificare il deployment di siti statici con Azure Static Web App
Sfruttare lo streaming di una chiamata Http da Blazor
Eseguire query verso tipi non mappati in Entity Framework Core
Gestire undefined e partial nelle reactive forms di Angular
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL