yo no soy chico FitNesse, así que por favor tome lo que digo con un grano de sal. Para mí, parece que lo que FitNesse intenta hacer es proporcionar un entorno independiente del lenguaje de programación para especificar pruebas. Lo usan para tener una interfaz más visual con el programador. En Spock, una transformada ast Groovy se usa para transformar la tabla en un programa groovy.
Como básicamente te quedas en un lenguaje de programación, en Spock es más fácil realizar configuraciones de prueba más complicadas. Como resultado, a menudo parece que tiene que escribir el código de accesorio en FitNesse.
Personalmente no necesito un botón de ejecución de prueba, me gusta el enfoque directo. Me gusta no tener que tomar más clases, solo para habilitar las pruebas y me gusta mirar el código directamente. Por ejemplo, quiero simplemente ejecutar mi prueba desde la línea de comandos, no desde una interfaz web. Eso también es posible en FitNesse, pero como resultado todo lo visual que FitNesse está tratando de darle al usuario es solo lastre para mí. Es por eso que elegiría a Spock sobre FitNesse.
La ventaja del enfoque independiente del idioma es, por supuesto, que se pueden usar muchas especificaciones de prueba para Java y para .Net. entonces, si ese es un requisito para ti, tal vez quieras juzgar diferente. Por lo general, no es para mí.
En cuanto al rendimiento, no me preocuparía demasiado acerca de esa parte.
No creo que haya una degradación de rendimiento notable en absoluto. He descubierto que Spock ha cambiado la forma en que escribo las pruebas más que nada para mejor (estructura con el dado/whens, etc.). También creo que Spock es más ampliamente utilizado y aceptado. – Steven
No he usado FitNesse pero puedo recomendar Spock. Es una forma muy expresiva de escribir pruebas fáciles de leer. Esas pruebas se ejecutan rápido. No hay un impacto significativo en términos de rendimiento. – topr
también vea https://stackoverflow.com/questions/45352358/karate-vs-spock –