問題タブ [assert]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3687 参照

iphone - スレッドでの NSAssert の使用

NSAssert予期しない状況が発生した場合、アプリケーションがすぐに失敗してクラッシュ ログに意味のあるメッセージが表示されるように、iPhone アプリ全体で使用しようとしています。

これは、失敗NSAssertがメインスレッドにある場合、NSInternalInconsistencyExceptionデフォルトで発生し、キャッチされずに実行を停止するため、正常に機能します。しかし、私はバックグラウンド スレッドでも処理を行っています。この場合、NSAssertスレッドは中止されますが、プログラミングは実行され続けます。

私の現在の解決策は、メイン スレッド (この場合はNSOperationmainメソッド) で例外をキャッチして再スローすることです。

より良い方法はありますか?おそらくカスタム NSAssertionHandler を使用していますか?

assert私は、静的注釈でC を使用できることを知っています。

しかし、これでは の実際の失敗値が何であるかを示すことはできませんx

0 投票する
3 に答える
166 参照

c - 複雑なマルチスレッド コードのセーフティ ネット?

プロジェクトで数千行の複雑なマルチスレッド「C」コードを書き終えたばかりの開発者として、将来このコードに不慣れな他の開発者によって拡張、変更などが行われる予定です。皆さんは、そのようなコードにどのようなセーフティ ネットを入れようとしていますか? 例として、私はこれらを行うことができます:

  1. 対応するロックが保持されていることをアサートする、ロックで保護された構造体メンバーのアクセサー マクロを定義します。これにより、このコードに不慣れな人には、これらのメンバーがロックで保護されていることが明確になります。
  2. スピンロックが保持された状態で呼び出されるはずの関数は、スピンロックが保持されていることをアサートします。

あなたが書いたマルチスレッド コードには、どのようなセーフティ ネットが組み込まれていますか?
他の開発者がそのようなコードを変更したときに、どのような問題に直面しましたか?
そのようなコードには、どのような種類のデバッグ支援が組み込まれていますか?

コメントしてくれてありがとう。

0 投票する
1 に答える
1303 参照

unit-testing - Log4Net のアサーティング アペンダ?

Log4Net出力に対してアサーションを導入する「標準的な」方法はありますか?

例えば

または

Log4Net のアサーティング アペンダーをコーディングすることはできましたが、既に何かあるはずだと思いましたか?

0 投票する
4 に答える
3985 参照

c# - C# での同じ結果に対する複数のアサートのベスト プラクティス

結果に対して複数のアサートを行う最もクリーンな方法は何だと思いますか? 過去に私はそれらをすべて同じようにテストしましたが、これは少し汚れているように感じ始めています.セットアップを使用して別のアイデアで遊んでいます.

0 投票する
2 に答える
6954 参照

cuda - カーネル呼び出し内でassertを使用する

デバイスモードでのカーネル呼び出し内でアサートを使用するための便利な方法はありますか?

0 投票する
4 に答える
1778 参照

c# - ExceptionAssertsとVSでのC#プロジェクトのデバッグ

しばらくの間、NUnitとVisualStudioを使用してC#.NETコードを記述してきました。例外のテストは、次のスタイルで行われました。

古い構文:

現在、NUnitはバージョン2.5.2をリリースしましAssert.Throws( Type expectedExceptionType, TestDelegate code );た。これにより、例外テストがはるかに柔軟になります。例外テストは次のようになります。

新しい構文:

私たちの問題は、Assert.Throwsが使用されている場合、NUnit(コンソールまたはGUIランナー)がプログラムのデバッグに使用されているときに、VisualStudioが未処理の例外を示すウィンドウを表示することです。

これを明確にするために、デバッグ時にnunit-x86.exeを実行するように単体テストを含むVSプロジェクトを設定しました。(プロジェクトのプロパティ、デバッグタブを参照してください。開始アクションは、nunit-x86.exeを実行するように設定されています)

これにより、NUnitはテストを続行できなくなります。F5キーを押してデバッグ/単体テストを続行することは可能ですが、これは実行可能な解決策ではありません。

これを回避する方法はありますか?Assert.Throwsの周りにtry...catchブロックを配置すると、デリゲートコードで例外が発生するため、何も実行されません。

誰かがこれに光を当てることができることを願っています。

0 投票する
1 に答える
1466 参照

unit-testing - NUnit と Log4Net の統合: ログに基づくアサート

これは、スタック オーバーフローに関する私の最初の質問です。Googleまたはstackoverflowで答えを見つけることができませんでした。

nunit テストで log4net を調べてログ内の特定のエントリを調べ、その検索結果に基づいてアサートすることに興味があります。

私が読んだ無関係の投稿に基づいて:log4net、おそらくMemoryAppenderを使用して、GetEventsメソッドを介してこれを行い、返されたイベントの配列を熟読できると思います。

しかし、私は疑問に思っています: 1. 誰かがこれをやったことがありますか? 落とし穴や提案はありますか?代替アプローチはありますか?2. 提示できるレシピはありますか?

ありがとう。

0 投票する
6 に答える
7630 参照

eclipse - Eclipse では、失敗したときに Assert.assertEquals への入力を確認するにはどうすればよいですか?

私は Eclipse の達人ではありませんので、私の不器用さをお許しください。

Eclipse で Assert.assertEquals(obj1,obj2) を呼び出して失敗した場合、IDE に obj1 と obj2 を表示させるにはどうすればよいですか?

私はJExampleを使用していますが、違いはないと思います。


編集:これが私が見たものです:(ソース:yfrog.com


0 投票する
6 に答える
125 参照

c# - 引数を冗長にテストする必要がありますか(コレクションの空など)?

ここでの冗長コレクションのチェックに問題がありますか?:

0 投票する
8 に答える
11215 参照

python - Python の assert ステートメントの許容可能なユースケースは何ですか?

私はしばしば python の assert ステートメントを使用してユーザー入力をチェックし、破損状態にある場合はフェイルファストします。-o(最適化された)フラグを使用してPythonを実行すると、アサートが削除されることを認識しています。個人的には、最適化モードでアプリを実行することはありませんが、念のため assert を避けるべきだと感じています。

書いたほうがすっきりした感じ

よりも

これは assert の有効な使用例ですか? assertそうでない場合、Pythonのステートメントの有効なユースケースは何ですか?