Davvero non puoi, almeno se non hai alcun controllo diretto sulla fonte del componente.
Puoi generare un valore, e poi usare una regex o un metodo simile per testare il formato pur essendo agnostico del valore esatto, ma poiché questo è apparentemente random , dovresti eseguirlo numero infinito di volte per garantire che ogni uscita possibile sia valida.
Se hai il controllo sul componente, devi separare la parte che esegue l'autenticazione con la parte che genera un ID di sessione, usando la composizione o l'ereditarietà. Nel primo caso, passa il tuo generatore e verifica che restituisca lo stesso valore (costante) del tuo generatore; in quest'ultimo caso, si scrive una classe derivata falsa che sovrascrive il metodo di generazione e restituisce un valore costante, che viene quindi confrontato con l'output.
In realtà, questo è solo un buon design in generale, non specificamente per la testabilità. Se questa classe esegue l'autenticazione e la creazione della sessione e della serializzazione XML, allora ci sono troppe responsabilità per una classe; invece, separare ciascuna caratteristica nella propria classe e, se è necessario comporli in un unico aggregatore "Session Authenticator", è possibile testare l'aggregato con i mock, poiché sono già stati testati i singoli componenti (autenticazione + sessione Serializzazione ID + XML + ecc.).