Ruby RSpec BDD 開発スタイルが大好きです。C/C++ でこれを行うための優れたツールはありますか?
6 に答える
cspecは C 用です。おそらく C++ で動作します。ウィキペディアのビヘイビア駆動開発ページに、さまざまな言語用のツールのリストがあります。
Ruby と RSpec を使用して C コードをテストし、swig を使用してラッパーを生成できるようです。ここでBen Mabey の投稿を参照してください。
私はその例を試してみましたが、うまくいきました。誰かがそれをさらに進めたかどうかはわかりません。
元のリンク ( CppSpec ) は無効になっていますが、CppSpecのインターネット アーカイブで引き続きアクセスできます。
@VickyChijwani が既に述べたように、Github にプロジェクトのコピーがあります - tpuronen/cppspec
イグルーは、いつか試してみたいものです
RSpec っぽいフレームワークがリクエストされたので、最近のiglooを追加したいと思います。本来は Context/Spec 構文を対象としていますが、Describe/It 構文にも対応しています。これらの C ベースのフレームワークのように、テスト ランナーとテスト フィクスチャを設定する際のノイズはあまりありません。CppSpec よりも見やすくなっています。彼らは適切なテンプレート メカニズムを使用してこれを実現します。
CBehaveを試してみてください!これは、given/when/then マクロを使用する RSpec に似た BDD フレームワークです。例:
FEATURE(1, "strstr")
SCENARIO("The strstr finds the first occurrence of the substring in the source string")
GIVEN("A source string: [Lionel Messi is a great football player]")
char *str = "Lionel Messi is a great football player";
GIVEN_END
WHEN("we use strstr to find the first occurrence of [football]")
char *p = strstr(str, "football");
WHEN_END
THEN("We should get the string: [football player]")
SHOULD_STR_EQUAL(p, "football player");
THEN_END
SCENARIO_END
FEATURE_END