問題タブ [qttest]

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 投票する
0 に答える
52 参照

qt - ファイルからデータを読み取るメソッドをテストするにはどうすればよいですか

次のコンストラクターを持つクラスがあります: MyClass(QFile& file);. Qt Test Frameworkで単体テストしたい。(実際のファイルを実際に作成せずに) 単体テストからファイルの内容を指定するにはどうすればよいですか?

0 投票する
0 に答える
743 参照

qt - Qt Test Simulated MouseEvent が子ウィジェットに転送されない

QtTest を使用してカスタム Qt ウィジェットのいくつかをテストできるかどうか、調査を行いました。

テストをビルドして実行することができました。また、イベントをシミュレートして で確認することもできましたQSignalSpy

テストしようとしているウィジェットは、内部のサブウィジェットを公開していないため、親ウィジェットに対するマウス クリックの位置をシミュレートする必要があります。

何らかの理由で、私はこのアプローチで失敗しています。次のスニペットは、私が達成しようとしていることを示しています。

最初のクリックは正しく認識されますが、2 回目のクリックは何らかの形で消えます。何故ですか?

フレームワークを正しく使用する方法を本当に理解しているかどうか疑問に思っています.マウスの位置を扱うことは、実用的なテストフレームワークには退屈で壊れやすいようです.

リビジョン:

GUI テストでの座標の使用が非常に脆弱であることは明らかです。findChildしたがって、実際に同じことを行うソリューションを見つけました。

これにより、2 つの利点が組み合わされます。第一に、座標を扱う必要がなくなり、第二に、テストするウィジェットのコードに触れる必要がなくなりました。

このアプローチでは、すべての gui 要素がobjectName()簡単な検索メカニズムをサポートする独自のものを持っている場合、有利に思われます。

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

c++ - qExecを呼び出すときのエラー「引数1からQObjectへの既知の変換はありません」

QtTest を使用して C++ アプリケーションのテストを作成しようとしています。私が持っている3つの関連ファイルは次のとおりです。GuiTests.cppメイン関数testsuite1.cppが含まれ、テストが含まれ、テストtestsuite1.hの定義が含まれています。このファイルなど、さまざまなガイドの助けを借りてこれらのファイルを作成しまし

ビルドしようとすると、次のエラーが発生します。

testsuite.h以下TestSuite1に示すように、理由がわかりませんQObject。面白いことに、この正確なコード (私はかなり確信しています) は以前は機能していましたが、しばらくの間argcandargvを渡していじり、 and を削除した後、以前のものに戻りました (現在持っているものについては、を参照してください)以下のファイル) このエラーが発生しました。guiTest()argcargv

私は長い間この問題を解決しようとしてきましたが、オンラインで答えが見つからないので、助けてください。ありがとう!

GuiTests.cpp

testsuite1.h

testsuite1.cpp

0 投票する
0 に答える
534 参照

c++ - 複数の型を単一の QTest::addColumn 呼び出しに渡す方法

データをファイルにシリアル化するためのテンプレート関数と、fist 関数によって返される ID を使用してデータを取得するためのテンプレート関数があります。

QTestここで、フレームワークを使用して、関連する不完全なタイプの数でこれらの単体テストを作成したいと思いますprivate slots

私の質問は、基本的に の代用となるべきものです???

それを綴る

完全を期すための明白な解決策。私は特に、すべてを入力する必要のない解決策を見つけようとしています。

Qバリアント

1 つの回避策は、を使用することQVariantです。それに関する問題はたくさんあります。QVector<qint64>まず、Qt タイプを使用する場合でも、メタ システムへの登録、ストリーミング オペレータの登録、および比較オペレータの登録などの必要があるため、かなり面倒です...さらに、QVariantそれ自体のシリアル化をミックスに追加し、QVariant明らかにカスタム タイプをシリアル化しますタイプ自体よりもさらに書き込まれたデータが含まれます。確かに、ドキュメントがそうあるべきだと言っているだけではありません-メタシステムと、カスタムタイプをシリアライズするときに呼び出されるQVariantその特別なストリーミングメソッドに関係している可能性があると思います.QVariant

void* と dynamic_cast?

私が考えた別のオプションは、typeidの結果type_infoを一緒に使用することでしたvoid*。は* に???置き換えられ、テスト メソッドが適切な型に変換して参照解除できるように、を含む別の列が提供されます。しかし、残念ながらそれは不可能のようです。void_dataconst type_info*

他のオプションはありますか?

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

qt - QtTest ライブラリを使用して QAction にアクセスするには?

QTableWidget(resultTable)にポップアップ メニューがあります。クラスのコンストラクターで、コンテキスト メニュー ポリシーを設定します。

popUpMenuResultTable機能:

ここで、 QtTest ライブラリを使用して GUI をテストする関数を実装する必要があります。

resultTableを右クリックして、ユーザーと同じ結果を得るにはどうすればよいですか? actionExport基本的に、 ( )にアクセスしてQActionトリガーする必要があります。

例えば:

ここに画像の説明を入力

私はすでに試しました:

しかし、それは表示されませんQMenu

Qt 5.3.2 を使用しています。

0 投票する
0 に答える
916 参照

qt - QTest、mousePress、および mouseMove: Qt テストでドラッグ アンド ドロップ イベントが欠落している

QTreeView と QGraphicsSceneView を備えた GUI があります。

ツリー ビューで使用されるモデルはドラッグ イベントをサポートし、グラフィックス シーンはドロップ イベントをサポートします。

mousePressQTest: 、mouseMoveなどでユーザー アクションをシミュレートしたいmouseRelease

私はこのコードを書きます:

ここでは、マウスが実際にツリー アイテムの四角形に移動して選択し、ドラッグやドロップを行わずにシーンの中心に移動します。

どうすれば修正できますか?