我想在基於Qt的項目(Qt 5,C++ 03)中編寫一個類的單元測試。QSignalSpy等待和兩個信號
class Transaction { // This is just a sample class
//..
public signals:
void succeeded();
void failed();
}
Transaction* transaction = new Transaction(this);
QSignalSpy spy(transaction, SIGNAL(succeeded()));
transaction->run();
spy.wait(5000); // wait for 5 seconds
我希望我的測試運行得更快。 在發生信號failed()
後如何中斷此wait()
調用,以防交易失敗?
我在QSignalSpy類中看不到任何插槽。
我應該用QEventLoop來代替嗎?
如果你不帶參數調用spy.wait(),它會r一旦信號在5000ms內發射,就立即生效。你不需要等待5000ms。 – Kahn