私はできるだけ多くのロジックをカスタムコントロールから動かすように取り組んでいます。そのため、手動テストの負担を軽減するためにユニットテストを行うことができます。私はテスト中のメソッドが複雑な結果を生成する状況に問題があります。結果を計算するテストケースを書くには、本質的にテスト対象のコードをテスト自体に書き込む必要があります。テスト中のコードを複製する必要があるコードのテストをどのように記述しますか?
たとえば、クラスのプロパティに基づいてWPFジオメトリを作成するGeometryGenerator
クラスがあります。 1つの構成では、ArcSegment
からなるPathGeometry
が生成されます。私はアークのプロパティがテストパラメータに基づいているべきものを計算できますが、この計算はテストしようとしているコードと同じです。これは、テストを無効にするように思える。計算にバグがある場合、テストにバグがあり、メソッドの計算が変更された場合、テストで変更する必要があります。
この状況についてはどうすればよいですか?私が思いついた唯一のアプローチは、テストケースの結果を手作業で計算し、これらの値をテストにハードコードすることです。これは受け入れ可能なアプローチですか(実装前にテストを書いていたら、私がやったようなものです)?