Test della scatola bianca con Google Test

7

Ho provato a utilizzare GoogleTest per il mio progetto di hobby C ++ e ho bisogno di testare i componenti interni di un componente (quindi test della white box). Nel mio precedente lavoro abbiamo appena creato le classi di test degli amici della classe in fase di test. Ma con Google Test non funziona perché ogni test ha una propria classe univoca, derivata dalla classe fixture se specificata, e friend-ness non trasferisce alle classi derivate.

Inizialmente ho creato una classe proxy di test che è amico della classe testata. Contiene un puntatore a un'istanza della classe testata e fornisce metodi per i membri richiesti, ma nascosti. Questo ha funzionato per una classe semplice, ma ora sono in grado di testare una classe di alberi con una classe di nodo privato interno, di cui ho bisogno di accedere e fare confusione.

Mi stavo chiedendo se qualcuno che utilizza la libreria GoogleTest ha eseguito test su una white box e se ha suggerimenti o utili costrutti per semplificare la procedura.

Ok, ho trovato la macro FRIEND_TEST definita nella documentazione, così come alcuni suggerimenti su come testare il codice privato nella guida avanzata. Ma oltre ad avere un'enorme quantità di declerazioni di amici (vale a dire un FRIEND_TEST per ogni test), c'è un idion più facile da usare, o dovrei abbandonare l'utilizzo di GoogleTest e passare a un diverso framework di test?

    
posta Daemin 24.06.2011 - 08:39
fonte

1 risposta

1

Non dovresti provare i metodi privati qui e here . Rende i test fragili poiché un refactoring del codice di classe interno significherà un refactoring di alcuni test, quindi perdi la fiducia che quei test funzionino.

Hai guardato alle mazze ? Penso che questo approccio possa aiutarti di più.

Inoltre, dai uno sguardo qui per una domanda simile.

    
risposta data 30.09.2011 - 10:55
fonte

Leggi altre domande sui tag