Estoy buscando un marco de burla para un gran proyecto de C++. Elegí tentativamente GoogleTest como el marco de prueba, así que primero miré GoogleMocks. Sin embargo, luego descubrí Isolator++ de TypeMock, que tiene dos características que me gustaron mucho:
El inconveniente es que Isolator++ es un producto comercial. Me preocupa el bloqueo de proveedores y demás. ¿Hay otros marcos que tengan las mismas capacidades? ¿Quizás algo de código abierto?
Permítanme también descartar una crítica común que he observado en otras publicaciones: "TypeMock fomenta el mal diseño. Debería mejorar su diseño en lugar de usar una herramienta que apoya los malos hábitos". (mi paráfrasis)
Mi respuesta es esta: quiero mejorar el diseño. También quiero agregar cobertura de prueba ANTES de refactorizar. Con ese fin, la capacidad de agregar pruebas con cero cambios de código es muy atractiva.
Bueno, supongo que esta publicación también podría titularse: "¿Tiene TypeMock Isolator++ algún competidor"? Por lo que puedo decir, la respuesta es no.
Para el código C#, TypeMock Isolator tiene un par de competidores: Telerik JustMock y Microsoft Fakes. Sin embargo, para C++, TypeMock Isolator++ es el único que he encontrado.
Para cualquier persona en esta situación, también sugiero una lectura del libro de Michael Feather "Trabajar de manera efectiva con el código heredado". Ofrece muchos consejos prácticos para realizar las pruebas sin necesidad de simular objetos vivos, como le permite hacer Isolator. Dicho esto, hay casos en los que, en mi opinión, los cambios necesarios son simplemente demasiado invasivos. Introducen demasiado riesgo al realizar las pruebas. Entonces, tal vez Isolator ++ podría valer la pena. Ya veremos...
Actualización: pasé unos tres días tratando de ejecutar una sola prueba con Isolator++ antes de rendirme, así que decidimos prescindir de ella.
Bob Dalgliesh
joe schrag