非テスト関数から「assert」関数を呼び出すにはどうすればよいですか?

WBOY
リリース: 2024-02-10 10:30:10
転載
491 人が閲覧しました

非テスト関数から「assert」関数を呼び出すにはどうすればよいですか?

php editor Strawberry では、非テスト関数から「assert」関数を呼び出す方法に関する記事をお届けします。 PHP では通常、テスト ケースを作成するために「assert」関数を使用しますが、テスト以外の関数でもこの関数を使用したい場合があります。この記事では、読者がこの関数をよりよく理解して使用できるように、テスト関数以外で「assert」関数を呼び出す手順と注意事項を詳しく紹介します。初心者でも経験豊富な開発者でも、この記事から貴重な知識とヒントを得ることができます。一緒に探検しましょう!

質問の内容

この質問は Go の非テスト関数のアサーションに似ていますが、非テスト関数から assert.ElementsMatch を呼び出したいと考えています。

testing.T オブジェクトをインスタンス化するにはどうすればよいですか?

この関数は最終的にはフラグで設定された main から呼び出されるため、単なるテストにはなりません。

コンテキスト: ソース データベースからターゲット データベースへのデータ移行を実行しています。移行の最初の部分は、ソースからターゲットの保存テーブルにデータをコピーすることです。 2 番目の部分 (ここで assert.ElementsMatch が登場します) は、保存されたテーブルが汎用テーブルとどのように異なるかを確認することです。データ移行に関する予期せぬ状況 (例:特定の日付は異なるか間違っている可能性があります) ID 番号がコピーされました)。 3 番目の部分では、保存テーブル データを確認したら、それを汎用テーブルにコピーします。これはすべて少し複雑すぎるように思えますが、おそらく現在ソース データベースとターゲット ユニバーサル データベースを使用しているためです。

回避策

testing.Tのインスタンスは必要ありません。

assert.ElementsMatch 関数は、単一メソッドのインターフェイスである assert.TestingT を引数として受け取ります。したがって、メソッドを使用して好きなことを実行できるインターフェイスのカスタム実装を定義し、そのカスタム実装のインスタンスを assert.ElementsMatch に渡すだけです。

###例えば:### リーリー

以上が非テスト関数から「assert」関数を呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!