タグ付けされた質問 「assertion」

14
Pythonアサートのベストプラクティス
assertデバッグ目的でのみ使用するのではなく、標準コードの一部として使用すると、パフォーマンスまたはコードのメンテナンスの問題がありますか? です assert x >= 0, 'x is less than zero' より良いか悪いか if x < 0: raise Exception, 'x is less than zero' また、if x < 0 raise errorそのように常にチェックされるようなビジネスルールを設定する方法はありますか。try/except/finallyコード全体でいつでもx0未満の場合assert x < 0、関数の開始時、関数内のどこかに設定した場合のように、エラーが発生します。どこxが0未満になると、例外が発生しますか?

11
JUnit Testアノテーションで例外メッセージをアサートするにはどうすればよいですか?
@Test注釈付きのJUnitテストをいくつか作成しました。テストメソッドがチェックされた例外をスローし、例外とともにメッセージをアサートしたい場合、JUnit @Testアノテーションでそれを行う方法はありますか?私の知る限り、JUnit 4.7はこの機能を提供していませんが、将来のバージョンではこの機能を提供しますか?.NETでは、メッセージと例外クラスをアサートできることを知っています。Javaの世界で同様の機能を探しています。 これが私が欲しいものです: @Test (expected = RuntimeException.class, message = "Employee ID is null") public void shouldThrowRuntimeExceptionWhenEmployeeIDisNull() {}

11
アサーションを使用する場合と例外を使用する場合
ほとんどの場合、例外を使用してコード内の条件を確認しますが、アサーションを使用するのに適切なタイミングはいつですか。 例えば、 Group group=null; try{ group = service().getGroup("abc"); }catch(Exception e){ //I dont log error because I know whenever error occur mean group not found } if(group !=null) { //do something } ここにアサーションがどのように適合するかを教えていただけますか?アサーションを使用する必要がありますか? 量産コードではアサーションを使用せず、単体テストでのみアサーションを表示するようです。私はほとんどの場合、例外を使用して上記のようなチェックを実行できることを知っていますが、「専門的に」それを行う適切な方法を知りたいです。


8
C mallocアサーションが失敗するのはなぜですか?
OpenCL実装に対してベンチマークできるように、分割統治多項式アルゴリズムを実装していますがmalloc、作業に取り掛かることができません。私がプログラムを実行すると、それはたくさんのものを割り当て、いくつかのものをチェックし、そしてsize/2アルゴリズムに送信します。それから私がmalloc再びラインを打つとき、それはこれを吐き出します: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end …
86 c  gcc  malloc  assertion 


10
AssertEquals2リストは順序を無視します
それは本当に簡単な質問だと思います。しかし、どういうわけか私はグーグルで答えを見つけることができません。 文字列のリストが2つあると仮定します。最初の文字列には「文字列A」と「文字列B」が含まれ、2番目の文字列には「文字列B」と「文字列A」が含まれます(順序の違いに注意してください)。それらをJUnitでテストして、まったく同じ文字列が含まれているかどうかを確認したいと思います。 順序を無視する文字列の同等性をチェックするアサーションはありますか?与えられた例では、org.junit.Assert.assertEqualsはAssertionErrorをスローします java.lang.AssertionError: expected:<[String A, String B]> but was:<[String B, String A]> 回避策は、最初にリストをソートしてから、それらをアサーションに渡すことです。しかし、私は自分のコードをできるだけシンプルでクリーンにしたいと思っています。 Hamcrest 1.3、JUnit 4.11、Mockito1.9.5を使用しています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.