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

アサーションはステートメントであり、falseと評価されたときにプログラムを中止します。アサートは通常、デバッグおよび発生してはならない状況に使用されます。

6
Assert.AreEqual(T obj1、Tobj2)が同一のバイト配列で失敗するのはなぜですか
次のコードセグメントに2つの同一のバイト配列があります。 /// <summary> ///A test for Bytes ///</summary> [TestMethod()] public void BytesTest() { byte[] bytes = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketData); TransferEventArgs target = new TransferEventArgs(bytes); byte[] expected = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketValue); byte[] actual; actual = target.Bytes; Assert.AreEqual(expected, actual); } 両方の配列は、バイト単位まで同一です。このシナリオでは、なぜAssert.AreEqualが失敗するのでしょうか。



6
プロダクションコードのassertステートメントでnullでないことをアサートする必要がありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 先月休業。 この質問を見たことがありますが、assertキーワードの使用法についていくつか質問があります。の使用について他の数人のコーダーと議論していましたassert。この使用例では、特定の前提条件が満たされている場合にnullを返すことができるメソッドがありました。私が書いたコードはメソッドを呼び出し、それがnullを返さないことを表明し、返されたオブジェクトを引き続き使用しています。 例: class CustomObject { private Object object; @Nullable public Object getObject() { return (object == null) ? generateObject() : object; } } 次のように使用するとします。 public void useObject(CustomObject customObject) { object = customObject.getObject(); assert object != null; // Do stuff using object, which would throw a NPE if …
32 java  assert  nullable 

4
PythonでPyTestのassertステートメントの動作を変更することは可能ですか
私はPythonのassertステートメントを使用して、実際の動作と予想される動作を一致させています。エラーテストケースがある場合のように、これらを制御することはできません。アサーションエラーを制御し、アサートの失敗時にテストケースを中止するかどうかを定義したい。 また、アサーションエラーが発生した場合など、テストケースを一時停止してユーザーがいつでも再開できるようにすることもできます。 私はこれを行う方法がわかりません コード例、ここではpytestを使用しています import pytest def test_abc(): a = 10 assert a == 10, "some error message" Below is my expectation assertがassertionErrorをスローする場合、テストケースを一時停止するオプションが必要で、デバッグして後で再開できます。一時停止と再開には、tkinterモジュールを使用します。以下のようにアサート機能を作成します import tkinter import tkinter.messagebox top = tkinter.Tk() def _assertCustom(assert_statement, pause_on_fail = 0): #assert_statement will be something like: assert a == 10, "Some error" #pause_on_fail will be derived …

1
折りたたみ可能なセクション:[アサート] preReloadFirstVisibleRow(0)の新しいグローバル行インデックスを特定できません
UITableViewControllerに折りたたみ可能なセクションヘッダーを実装しています。 セクションごとに表示する行数を決定する方法は次のとおりです。 override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return self.sections[section].isCollapsed ? 0 : self.sections[section].items.count } 「isCollapsed」のブール値を使用してセクション情報を保持する構造体があります。 ここに私が彼らの状態を切り替える方法があります: private func getSectionsNeedReload(_ section: Int) -> [Int] { var sectionsToReload: [Int] = [section] let toggleSelectedSection = !sections[section].isCollapsed // Toggle collapse self.sections[section].isCollapsed = toggleSelectedSection if self.previouslyOpenSection != -1 && …

5
assert()とstatic_assert()の間でディスパッチする方法、constexprコンテキストに依存するか?
C ++ 11 constexpr関数では、anなどの2番目のステートメントassert()は使用できません。A static_assert()は問題ありませんが、関数が「通常の」関数として呼び出された場合は機能しません。カンマ演算子はwrtoを助けるために来るかもしれません。assert()しかし、醜いですし、いくつかのツールは、それについての警告を吐きます。 アサーションのほかに完全に制約可能な「ゲッター」を検討してください。しかし、実行時とコンパイル時に何らかのアサーションを保持したいのですが、 'constexpr'コンテキストによってはオーバーロードすることはできません。 template<int Size> struct Array { int m_vals[Size]; constexpr const int& getElement( int idx ) const { ASSERT( idx < Size ); // a no-go for constexpr funcs in c++11 // not possible, even in constexpr calls as being pointed out, but what I …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.