C++でBDDをやろうというもの、らしい。サンプルを見る分にxUnitのassert_*系の関数名をBDDっぽいものにしたような感じなのかな。ちょっと気になるのだけどビルドするのにBoost.Filesystemだとか必要なようでビルドに時間がかかりそうなので使ってはいない。ただ、これを見て少し思ったことがあるので書いてみる。 CleanCodeで指摘されていたのだけれど、assert_equals(expected, actual)のような関数は、引数の順番を間違えやすいという記述があって、確かに久しぶりにテストを書こうとすると毎回忘れている気がする。これを、RubyのRSpecでは以下のように書けるので、引数を間違えることがなくなる。 describe "Add" do it "1+1=2" do (1+1).should == 2 end end これを見て、C++でも、たとえば C