我目前正在嘗試評估不同的測試框架。當我使用模擬框架(我傾向於FakeIt,但Google模擬也不錯)時,我知道在調用函數來驗證函數的性能之前和之後,您可以通過使用操作系統的定時器調用來進行自己的「性能」測試。這不是我所追求的。我如何測試使用嘲諷框架在谷歌測試中延遲後發出的呼叫
我所做的是在給定某些輸入的情況下實現輸出延遲的類。例如:
- 輸入1變爲從低到高
- 輸出1在1.5秒後,從低變爲高。
我希望能夠做一些事情,我指定的邊界:
myMock.theInput();
EXPECT_CALL(myMock, theDelayedOutput())
.Times(1)
.Before(1.6sec)
.After(1.4sec);
爲了澄清,Before
和After
線不被支持。這只是我喜歡的簡單語法的一個例子。
是否有可能只實現使輸入電話之間和檢查EXPECT_CALL
之前窗口內的「延遲」功能?
這是部分原因 - 我仍然必須啓動專有計時器。像這樣?
myMock.theInput();
windowSleep(1.4);
startTimer();
EXPECT_CALL(myMock, theDelayedOutput())
.Times(1)
endTimer();
ASSERT_TRUE(elapsedTime() <= 0.2);