SUnit、JUnit、および一般的な xUnit テスト フレームワーク以来、テストは長い道のりを歩んできました。
RSpecとCucumberを調べて、「動作駆動型」テストとは何かを理解しましたが、今では、単体テストを作成するための他のどのようなアプローチが存在するのか疑問に思っています。
私は特定の言語に縛られているわけではありませんが、コードをテストするための一般的なアイデアとアプローチに関心があります。
したがって、私の質問は、ユニットテストに対してスタイル的に異なるアプローチ、つまり「アサート」とは異なるアプローチがあるということです。
例を挙げましょう:
単体テストの xUnit スタイルは、お好みの言語で大まかに次のようになります。
stack = new Stack()
assertTrue (stack.empty())
stack.push(1)
assertFalse (stack.empty())
assertEquals(1, stack.top())
RSpec スタイルの単体テストは次のようになります (大まかに即興で):
describe Stack do
it "should be empty" do
Stack.new.empty?.should == true
end
it "should contain new value on top" do
stack = Stack.new
stack.push(1)
stack.empty?.should == false
stack.top().should == 1
end
end
他に興味深いスタイル、表記法、「DSL」はありますか? 確かに、すべての言語とフレームワークにはテーマのバリエーションがありますが、一般的な「テーマ」/スタイルは異なりますか?