Mi piace molto il catch.hpp per i test (https://github.com/philsquared/Catch). Mi piace il suo stile BDD e le sue dichiarazioni REQUIRE, la sua versione di asserzioni. Tuttavia, la cattura non viene con una struttura beffarda.Integrazione di Google Mock and Catch.hpp
Il progetto a cui sto lavorando ha GMock e GTest ma abbiamo utilizzato anche alcuni progetti. Mi piacerebbe usare GMock con la cattura.
Ho trovato 2 conflitti nei file di intestazione catch.hpp e gtests per le macro FAIL e SUCCEED. Dal momento che non sto usando lo stile TDD ma invece lo stile BDD li ho commentati, ho controllato che non fossero referenziati da nessun'altra parte in catch.hpp.
Problema: l'utilizzo di EXPECT_CALL()
non restituisce nulla o dispone di callback per sapere se è trascorso l'EXPECT. Voglio fare qualcosa di simile:
REQUIRE_NOTHROW(EXPECT_CALL(obj_a, an_a_method()).Times(::testing::AtLeast(1)));
Domanda: Come posso ottenere un callback se EXPECT_CALL
fallisce (o un valore di ritorno)
[trompeloeil] (https://github.com/rollbear/trompeloeil) sembra interessante ed è progettato per funzionare con Catch. Personalmente, ci proverei prima del colosso di Google. –