開発中にアサートを使用するトピックは、SO で広く取り上げられています。コードには 3 つの条件があります。
1) Development
2) Testing
3) Production
アサートは開発バージョンに存在し、製品バージョンから削除されます。しかし、それらをテスト バージョンに残すか、削除する必要があると言うものを見つけましたか? 何か考えはありますか?
開発中にアサートを使用するトピックは、SO で広く取り上げられています。コードには 3 つの条件があります。
1) Development
2) Testing
3) Production
アサートは開発バージョンに存在し、製品バージョンから削除されます。しかし、それらをテスト バージョンに残すか、削除する必要があると言うものを見つけましたか? 何か考えはありますか?
私は決してsを書きませんassert
。代わりに、実際の製品コードに対して単体テストや統合テストなどを行います。
問題を検出する能力が多少制限されているため、使用するのは好きではありませんassert
。また、意図しない副作用について妄想的です。
Development と Production などのビルド フラグに応じて、特定のものをコンパイルしたりコンパイルしたりする条件をコードに含めるのは非常に好きではありません。これらの条件はコードを複雑にするだけであり、テストするコードが本番環境のコードと同じにならないようにする可能性があります。
個人的には、実際のビジネス モジュールに記述すべきコードは製品レベルのコードだけであり、すべてのテストはそれに対して行う必要があると感じています。テスト目的でビジネス モデルを変更することはできません。つまり、何かをテストしたい場合は、それpublic
を作成し、そのための外部テストを作成します。