私は単体テスト全体に不慣れで、次の関数の単体テストを作成する方法を知りたいと思っています。
from poll.models import Poll
def total():
all_polls = Poll.objects.all()
return all_polls.count()
理想的には、上記の関数で何をテストする必要がありますか?
私は単体テスト全体に不慣れで、次の関数の単体テストを作成する方法を知りたいと思っています。
from poll.models import Poll
def total():
all_polls = Poll.objects.all()
return all_polls.count()
理想的には、上記の関数で何をテストする必要がありますか?
この特定の関数をテストしてもあまり意味がありません。これはあまり役に立ちません。ただし、例として使用しているため、原則として、サンプルデータを使用してシステムをセットアップし、関数が期待どおりに返されることを確認します。したがって、この場合、テストで 2 つの Poll オブジェクトを作成し、関数が値 2 を返すことをアサートできます。
また、エッジ ケースを確認することもできます。このケースで考えられる唯一のケースは、ポーリングがまったくないときにクラッシュしないということです。したがって、2 つの Poll を挿入する前に、関数を呼び出して、0 を返すことをテストできます。次に、2 つのインスタンスを追加し、戻り値 2 を確認します。
ただし、通常、Django 自身の機能をテストすることは避けるべきです。これは、Django 自身の単体テストで十分にカバーされています。このように、関数が組み込みメソッドを呼び出す以外に何もしない場合、count()
関数が 2 を返すことを確認しても意味がありません。