K O !

KO!

"Boxing is the ultimate challenge.
There's nothing that can compare
to testing yourself the way you do
every time you step in the ring."
--Sugar Ray Leonard

"s/Boxing/Debugging/"
--Programmer

KO! (aka Knockout) is a next-generation unit testing framework for the Ruby programming language. What makes KO! so modern?


KO reads like a developer thinks. More specifically, KO! breaks down the systems analysis proccess into clear and obvious divisions. KO "specifications" are divided-up into test cases, contexts, concerns and test assertions.


Here is simple example.

    KO.case "example" do

      test "equality" do |a,b|
        a == b
      end

      ok 1, 1.0
      no 1, 2.0

    end
    

KO! was inspired in part by the void left behind by the discontinuation of Shoulda as a test framework. It seemed like an opportune time to give Ruby an elegant, modern and light-weight test framework to serve as an alternative to the monolithic RSpec.

Future versions of KO! may also support Lemon's unit test coverage system.

"There is no doubt in my mind that the closest physical equivalent to debugging code is the sport of boxing. It's an art of fancy footwork, mind-numbing perseverance, and after 10 rounds, you've seen a lot of red, but you're taking home the green.