1

開発中にアサートを使用するトピックは、SO で広く取り上げられています。コードには 3 つの条件があります。

1) Development
2) Testing
3) Production

アサートは開発バージョンに存在し、製品バージョンから削除されます。しかし、それらをテスト バージョンに残すか、削除する必要があると言うものを見つけましたか? 何か考えはありますか?

4

3 に答える 3

2

私は決してsを書きませんassert。代わりに、実際の製品コードに対して単体テストや統合テストなどを行います。

問題を検出する能力が多少制限されているため、使用するのは好きではありませんassert。また、意図しない副作用について妄想的です。

Development と Production などのビルド フラグに応じて、特定のものをコンパイルしたりコンパイルしたりする条件をコードに含めるのは非常に好きではありません。これらの条件はコードを複雑にするだけであり、テストするコードが本番環境のコードと同じにならないようにする可能性があります。

個人的には、実際のビジネス モジュールに記述すべきコードは製品レベルのコードだけであり、すべてのテストはそれに対して行う必要があると感じています。テスト目的でビジネス モデルを変更することはできません。つまり、何かをテストしたい場合は、それpublicを作成し、そのための外部テストを作成します。

于 2013-10-23T14:24:55.667 に答える