2011-12-04 13 views
2

私はUnity3Dプロジェクトで古いC#コード(具体的にはFortune's Voronoi graph algorithm)を使用しています。私はそれを更新して適切なジェネリック、リファクタリング、一般的にクリーンなものを使用したいと思っていました。テスト不透明コードの単位を設定するには?

理想的には、何も壊さずにこれを実行します。コードは動作し、アルゴリズムの実装は健全です。単体テストは明らかにそれをねじ込むことなくリファクタリングするのに役立ちます。

残念ながら、私は実際に数学やアルゴリズムを理解していません。コードは高密度でコメントフリーです。

このようなコードの単体テストを書くにはどうすればよいですか?

答えて

5

ユニットテストはすべてメソッドの入出力に関するものです。

したがって、メソッドを単一にして、いくつかのパラメータセットでそれらを実行し、結果を格納することができます。

ユニットテストでは、同じパラメータを使用して同じメソッドを実行し、出力として何を期待しているかを知っています。アウトプットが変わったら、あなたは何かを壊しました。

+1

無効な入力とコーナーケースの出力を忘れることはありません。それ以外の場合は、リファクタリング後に基本機能が正常であることがわかりますが、複雑な状況が壊れている可能性があります。グラフ理論について少し知っていると、これらの関心のある点を検出するのに役立ちます。 – Elideb

+1

実際、「パラメータのセット」には古典的なものとコーナーケース(null、-1,0、String.Emptyなど)が含まれています。 –

関連する問題