{{toc}}
!概要
C++でRSpec{{fn 'http://rspec.info/
http://jp.rubyist.net/magazine/?0021-Rspec'}}っぽいテストを書くためのツールの試作版です。
現時点で、次のようなテストが書けます。
!!サンプル
\<.<<<
DESCRIBE("int_vector")
{
std::vector<int> *v;
BEFORE{
v=new std::vector<int>;
}
AFTER{
delete v;
}
VERIFY{
THAT{
IT(v->empty())
SHOULD(BE_TRUE);
v->push_back(1);
IT(v->at(0))SHOULD(==1);
}
AND_THAT{
IT(v->empty())
SHOULD(BE_TRUE);
v->push_back(2);
IT(v->at(0))SHOULD(==3);
}
OVER;
}
} END_DESCRIBE;
DESCRIBE("int")
{
VERIFY{
THAT{
IT(1+1)SHOULD(==2);
IT(2*3)SHOULD(==6);
IT(1/2)SHOULD(==0.5);
}
AND_THAT{
IT(!)SHOULD("This is executed and be failed");
}
AND_THAT{
IT(!)SHOULD("...and this is executed too and be failed");
}
OVER
}
} END_DESCRIBE;
>>>.>
!全ソース
{{attach_anchor 'spec.cpp'}}
!実行結果
\<.<<<
//// int_vector ////
Test(135) OK : v->empty()BE_TRUE
Test(138) OK : v->at(0)==1
Test(142) OK : v->empty()BE_TRUE
Test(145) NG : v->at(0)==3
//// int ////
Test(155) OK : 1+1==2
Test(156) OK : 2*3==6
Test(157) NG : 1/2==0.5
Test(160) NG : !"This is executed and be failed"
Test(163) NG : !"...and this is executed too and be failed"
>>>.>