アサーションは、関数が現在のプロセスで実行された場合にプログラムの終了を引き起こすことを確認するためにあります (詳細は、死のテストがサブプロセスから呼び出され、死にもかかわらずテストを続行できることを説明しています)。これは、一部のコードが失敗時のプログラムの終了/中止を保証する可能性があるため (たとえば、回復不能なエラーがあった場合)、単体テストでは、関数が文書化された動作に準拠していることを確認する必要があるため、それが何であるかに関係なく役立ちます。
wikiページの説明は、実際にそれを最もよく説明しています:
多くのアプリケーションには、条件が満たされない場合にアプリケーションの障害を引き起こす可能性のあるアサーションがあります。プログラムが既知の良好な状態であることを確認するこれらのサニティ チェックは、プログラムの状態が破損した後、可能な限り早い時期に失敗するように設定されています。アサーションが間違った条件をチェックすると、プログラムは誤った状態で処理を続行する可能性があり、メモリの破損、セキュリティ ホール、またはさらに悪いことにつながる可能性があります。したがって、そのようなアサーション ステートメントが期待どおりに機能することをテストすることは非常に重要です。