Some high level differences from serverspec/testinfra:
* Goss is self contained binary, no python/ruby needed
* Goss is YAML, not python/ruby DSL
* Goss can generate tests from system state using add/autoadd
* Goss can expose tests as a http health endpoint
* Goss can sleep/retry until a system is in a good state, this
is useful in docker. See blog
* It runs extremely fast benchmark showing 1,000 tests running under 100ms
Some limitations:
* Goss has to run on the system locally, self-contained binary makes it simple to install.
* DSL will always have more flexibility in what you can do, but it's much simpler. So depends on what you're looking for.