Creare dati fake in Kotlin con Instancio

Mattepuffo's logo
Creare dati fake in Kotlin con Instancio

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!


Condividi

Commentami!