どのように私はキャンバスに何かを描画する方法をテストします。たとえば、Androidアプリのために、私は次のコードを持っています:
@Override
public void draw(Canvas canvas) {
canvas.drawRect(rect, paint);
}
もちろん、これは非常に単純な例ですが、それでも:どのように私は正しいことをテストが考えRect
描かれていますか?言い換えれば、どのようにUIが正しいものを表示しているかどうかを確認してください。
私は、彼らが権利の性質を持っているかどうかを確認するために私の画面上のすべての私のピクセルをチェックすることができたと、私はそれは非常に単純なアプローチであると思います:)
基本的に、あなたはユニットテストで自分で実装しなかったことの機能をテストしていません。
あなたは期待のコールが起こることを確実にするためにユニットテストを書きます。そして期待のパラメータは、そのようなライブラリのメソッドに渡されていることを。
その後、後に、あなたはエンド機能に終止符を手動でテストを行う可能性があります。
編集:それは本当にあなたの目標によって異なります。あなたはユニットテストでそれぞれ最大コードに「機能」報道を取得したい場合は、あなたの全体のデザインは、そのために準備する必要があります。
確かに、時には(あなたが簡単に結果をテストすることができます)は、「ライブラリの呼び出し」の背後にある実際の機能を使用することは簡単です。しかし、本当のキャンバスを持って、「本当の描画」を行うと、おそらくテストのいずれかの種類のための「環境」のかなりを実行する必要があります。だから、私は個人的には、テストに容易になるので、すべての私のロジックを分離し、その後、テスト最終結果を確認してください、私は効率的な手段を持っていることを確認しようとするだろう。