単体テストは、実際のコードやデータを使用する方法でのテストではありません。作業するすべてのものをモックします。あなたが説明している方法でテストしたり、テストする必要はありません。取得したデータをテストしているのではなく、メソッドが処理した後にフィードしたデータが期待どおりまたは類似していることだけをテストしています。
たとえば、データベースから取得したデータを返すメソッドがある場合、データベースはテストとは関係ありません。そのメソッドとそこにあるロジックだけをテストしています。その中でどのメソッドを呼び出すことができるか、その中のそれらのメソッドが何をするかについての期待(アサーションを実行できる値のジェネリック表現を返すなど)など、およびそのメソッドの外側のすべてがモックされます(つまり、ジェネリック表現)。
簡単な例では、何かのセッターである 1 つのメソッドと、その何かのゲッターとして使用される 1 つのメソッドを作成した場合、セッターを使用するとゲッターが同じ値を返すというテストを記述します。 ...ブーム、両方の方法がテストされています。
これが、TDD (テスト駆動開発) について耳にする理由です。最初は直感に反するように感じるかもしれませんが、開発者はテスト可能なコードを作成するために必要な要素をまとめる必要があり、最終的にはより優れたコードにつながります。はい、完全に機能するコードを書くことはできますが、必ずしもテスト可能 (またはほとんど不可能) であるとは限りません。たとえば、リンゴの数を返すメソッドを作成する代わりに、プロジェクトのその部分で使用している果物の種類に関係なく、オブジェクト タイプを注入するメソッドを作成できます (オレンジ、リンゴ、ナシ、または果物でさえありません)。それはそのメソッドを再利用可能にし、またあなたがそうしないことを意味します'
とにかく、コードの例とテストを提供して、問題が何であるかを確認してください。