Dopo aver appreso SpringBoot, ho voluto andare oltre a gestire i test di integrazione utilizzando (DBUnit e SpringTestDBUnit). Durante tutto il processo, tutto andava bene fino a quando non mi sono imbattuto nei valori di impostazione per le colonne di dati con codice booleano sul set di dati. (Contenuto del set di dati è dato seguito)valore booleano DBUnit
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
<Client code="0001" name="client_one" />
<Client code="0002" name="client_two" />
<Client code="0003" name="client_three" active="false" />
<Client code="0004" name="client_four" />
</dataset>
Aggiunta attributo active="false"
per registrare client [code = 0003], i miei test di integrazione non riesce e mostrandomi questo messaggio Exception processing table name='Client'
che è stato portato il record client [code = 0001] viola il vincolo di colonna attivo non nullo.
Dopo aver corretto l'errore (sul ramo DBUnit_For_Boolean_Columns_Attempt_One) fornendo i valori per la colonna attiva su tutti i record (che è leggermente inferiore alla specifica), ha funzionato. Ma il mio obiettivo era in grado di eseguire correttamente i test di integrazione con il set di dati scritto sopra.
La domanda è come possono i test di integrazione successo utilizzando il set di dati di cui sopra? A partire da ora, sto avendo un momento difficile l'implementazione di soluzioni così ho creato un Bitbucket repository per voi a vedere e aiutare a portata di mano.
changelog
2015/02/04 cambia
- Migliorare contenuti interrogativi repository
- Aggiunto Bitbucket
vedo. Quindi dovrei posizionare il valore 'true' o' false' nella colonna (ad esempio: 'active')? Dovrebbe essere scritto sulla 'dataSet.xml' come' '? Ho dimenticato di dire, non ho un programma-context.xml' 'dal momento che sto usando SpringBoot –
@KaidoShugo Vedere la mia risposta a cura – Mureinik
Ma cosa succede se questa colonna booleana può essere impostato su null? –