仕様に合わせて機能する信号処理ライブラリがあります。ただし、リファクタリングに適した場所をいくつか特定しました。しばらくの間、単体テストをワークフローに組み込むつもりでしたが、これは重要なコードを試す良い機会のようです。これは、リファクタリング後に出力がほぼ同一であることをテストできるようにするためです。
私はテスト フレームワークとしてcatchを試していますが、(私が収集できるものから) すべてのテスト フレームワークはオペレーターからの結果に依存しているため、この詳細は無関係かもしれません。
REQUIRE(i_x == 2)
ただし、浮動小数点データでは、何らかの形式のエラー境界チェックが必要です。.
const float target = 2.000f;
const float tolerance = 0.000005f;
const float err = target*tolerance;
REQUIRE( (f_x > target-err) && (f_x < target+err) )
これは、記述されたすべてのテストですぐに醜くなるため、もちろん、指定された , をパラメーターとして返す (テンプレート化された) グローバル関数をbool
作成x
できtarget
ますtolerance
。
これは他の誰もがこれを行う方法ですか?これはベストプラクティスですか、それともトリックがありませんか?