Spinach es un framework de desarrollo guiado por comportamiento (BDD) de alto nivel escrito en Ruby que se centra en la reutilización a través de funciones y módulos. Usa el lenguaje Gherkin para definir especificaciones ejecutables y cuenta con soporte para Minitest, RSpec y Capybara. Los archivos de características (.feature) describen el comportamiento del software a través de escenarios y pasos que se definen en archivos separados (.steps).