Creare dati fake in Kotlin con Instancio
Instancio è un'ottima libreria per Java che ci permette di valorizzare gli oggetti con dati random, in modo da poter testare le nostre applicazioni senza avere dati reali.
Rispetto ad altre librerie è meno facile da usare, ma ci molte possibilità.
In questo articolo vediamo come usarla in Kotlin!
Se usate Maven aggiungete questa dipendenza:
<dependency>
<groupId>org.instancio</groupId>
<artifactId>instancio-core</artifactId>
<version>2.6.0</version>
</dependency>
Prima di tutto dobbiamo creare i nostri oggetti; questo è quello che ho usato io:
class Libro {
var id = 0
var titolo: String? = null
var prezzo = 0.0
var categorie: List<String>? = null
}
Qui sotto un esempio di codice:
import org.instancio.Instancio
import org.instancio.Select.field
import org.instancio.generators.Generators
fun main() {
val list = Instancio.ofList(Libro::class.java).size(5).create()
for (libro in list) {
println(libro.id.toString() + " - " + libro.titolo + " - " + libro.prezzo)
}
println("---------")
val libro: Libro = Instancio.of(Libro::class.java)
.generate(field("prezzo")) { gen: Generators -> gen.doubles().range(10.0, 20.5) }
.generate(field("categorie")) { gen: Generators ->
gen.collection<Any>().minSize(5).subtype(MutableList::class.java)
}.create()
println(libro.prezzo)
println(libro.categorie)
}
Nella prima parte creiamo una lista, indicando quanti elementi creare.
Nella seconda parte creiamo un solo oggetto, ma impostando alcune customizzazione agli elementi:
- diciamo che il prezzo deve essere un determinato range
- diciamo che le categorie devono essere almeno 5
Enjoy!
kotlin maven instancio
Commentami!