2010-05-11 5 views
3

Est-ce que quelqu'un sait s'il existe une bibliothèque pour vérifier si un graphe d'objet est entièrement sérialisable? Ce serait probablement aussi simple que de l'écrire et de le relire, mais je me suis dit que quelqu'un devait déjà avoir fait abstraction de cela - je n'arrive tout simplement pas à le trouver.Test de sérialisation Java

Répondre

2

Lire l'article this.

et noter ce qui suit fonction très réutilisable:

public void testIsSerializable() 
    throws JaxenException, IOException { 

    BaseXPath path = new BaseXPath("//foo", new DocumentNavigator()); 
    ByteArrayOutputStream out = new ByteArrayOutputStream(); 
    ObjectOutputStream oos = new ObjectOutputStream(out); 
    oos.writeObject(path); 
    oos.close(); 
    assertTrue(out.toByteArray().length > 0); 

} 

L'article explique également comment vérifier si les objets étaient correctement sérialisé.

+0

Merci, je viens de penser que quelqu'un l'avait déjà emballé dans un seul appel de méthode. –

+0

Le test de longueur est inutile. Cela ne peut pas échouer. Un flux d'objet a un en-tête, défini par le protocole. – EJP

1

Il serait probablement aussi simple que écrire sur et en les lisant dans

Il est encore plus simple. Il suffit de l'écrire. Si cela réussit, tout est sérialisable.