問題タブ [qtestlib]
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.
qt - QTest はイベントを子ウィジェットに渡すことができません
を使用して自動テストコードを書いていqtestlib
ます。以下のコード例では:
le
イベントを親ウィジェットに送信して、フォーカスを取得して「こんにちは」と入力することはできませんwin
。しかし、イベントをle
直接送信することでそれを行うことができます。
通常、カスタム QWidget クラスには多くのプライベート ウィジェット メンバーが存在します。また、イベントをインスタンスに送信してキー/マウス イベントをシミュレートすることはできません。また、プライベート ウィジェットにイベントを送信することもできません。では、そのようなクラスに対して自動テストを実行するにはどうすればよいでしょうか?
環境: Gentoo Linux KDE Qt-4.8
c++ - QTcpSocketをテストするための依存性注入を作成するには?
私が書いた Qt5 アプリケーションの単体テストを作成しようとしていますが、ネットワークに関連するクラスを処理する方法について困惑しています。私のメイン クラスには、QTcpServer::incomingConnection をオーバーライドして ClientConnection オブジェクトを作成し、それをスレッドに渡す QTcpServer サブクラスが含まれています。
ClientConnection クラスは、socketDescriptor を使用して専用スレッドで新しい QTcpSocket を開き、クライアントからデータを受信して処理します。
このクラスはまだ終わっていませんが、今からテストを書き始めたいと思っています。私の問題は、socketDescriptor の処理方法です。ある種の依存性注入を使用する必要があると思いますが、テスト ケースで QTcpServer 全体を作成しないと実現できないと思います。
最近はネットワーク コードのテストが一般的になっているはずなので、アプリケーションの半分を含めずにこれを処理する一般的な方法が必要です。これは一般的な質問のように思えますが、私の特定のアプリケーションに関する詳細が必要な場合はお知らせください。
qt5 - QTQuick テストの実行方法
main.cpp で QtQuick-Applications のテストを実行するにはどうすればよいですか? main.qml には長方形があり、いくつかのボタンの中にあります。テスト クラス MouseClick.qml は、ボタンを押す必要がある JavaScript テスト関数を実装します。
c++ - QTestLib が実行中にテストしている GUI を表示することは可能ですか?
ユースケースは、Qt アプリがあり、そのユーザー スタイルのテストを自動化したいと考えています。つまり、keyClicks()、mouseClick() などを使用したいのですが、これが発生している間に Qt アプリケーション ウィンドウが実際に表示されるようにしたいと考えています。
私が今抱えている問題は、 QTestLib を使用すると、 main を自分で定義する代わりに QTEST_MAIN マクロを使用する必要があるため、テスト中のウィジェットを show() する機会がないことです。この質問を別の言い方をすれば、メイン関数を使用しているアプリケーションで QTestLib を使用する方法はありますか?
Squish とおそらく Testability Driver がこれを実行できることは知っていますが、追加のツールを使用せずにこの機能を取得できるのであれば、それが理想的です。
c++ - 送信された Qt シグナルの監視/出力
さまざまな機会に発行されるいくつかのシグナルを定義しました。
ここで、これらの信号がどのように見えるか、およびパラメーターが正しいかどうかを確認したいと思います。信号を監視するにはいくつかのアプローチがあるようです。
ここの投稿では、rohanpm はここで指定されているパラメーターを参照しています-vs
。
これは、必要な情報を取得するエレガントで迅速な方法のようです。でも、正直なところ、どこで、どのように走らなければならないのか、理解できません-vs
。の一部ではありませんqmake
。他にどこに置く必要がありますか?(私はqtにかなり慣れていません)。
QSignalSpyに関連して、既存のクラスを変更する必要があるようですか? 「外部」アプローチもありませんか?
スロットをテストする方法に関するドキュメントはたくさんありますが、シグナルに関連していますか? printf
またはcout
どこかで使用できますか?
c++ - QTest QBENCHMARK マクロの使用方法は、単体テストのパラメーターとして結果を返します
Qt で QTest を使用していくつかの単体テストを作成しています。また、カプセル化されたコードをベンチマークする QBENCHMARK マクロにも遭遇しました。
単体テストを実行し、コードの一部をベンチマークしています。QBENCHMARK は、何らかのメソッドの実行にかかった時間を報告しますが、それは問題ありません。QVERIFY2() などの単体テストで実行時間を使用したい。これどうやってするの?
編集:
私が現在行っていることは次のとおりです。