Sto utilizzando la libreria protobuf-net per la serializzazione / deserializzazione dei messaggi.
A causa della natura distribuita dell'applicazione, alcune applicazioni avranno una versione precedente dell'oggetto che viene utilizzata per serializzare i messaggi. I casi che mi interessano sono
-
aggiunta di nuovi campi all'oggetto messaggio che alcuni utenti (deserializzatori) non avranno
-
rimozione dei campi nell'oggetto messaggio che alcuni utenti (deserializzatori) avranno ancora.
Esempio: una vecchia app ha questa definizione di Foo
class Foo
{
public int Field1 {get; set;}
}
Una nuova app ha questa definizione di Foo
class Foo
{
public int Field1 {get; set;}
public int Field2 {get; set;}
}
Voglio avere un test per verificare che la libreria possa deserializzare un oggetto con campi e campi mancanti di cui non è a conoscenza nel caso in cui dovessi mai cambiare la mia libreria di serializzazione.
C'è un modo semplice per testare questo? C # non consente all'utente di modificare i campi disponibili in un oggetto.
Attualmente devo compilare la mia app per il ricevitore e quindi modificare l'oggetto trasportato per aggiungere un nuovo campo e quindi creare l'app di invio per testarlo.
C'è un modo migliore?