我正在尋找幫助,爲我們基於JSON API的應用程序創建複雜的測試。Symfony Testing - ClockMock/DateTime
短問題方案:
- 測試創建臨時實體(比較)
- EntityManagerMock設置爲等待堅持($ temporaryEntity)
- 測試呼叫真正的方法與一些參數
- 方法創建實體並嘗試保存在嘲笑EM
- 測試失敗b ecause時間變化1秒鐘
我們試圖用ClockMock但它只是對所在班級被稱爲/命名空間的工作。我們的方法是在其他命名空間,實體是在下一個創建。
我們正在尋找解決方案如何臨時覆蓋PHP平臺\ DateTime類 - 或技術如何使用ClockMock項目中的所有名稱空間/類(但僅用於測試)。我們試圖修改基於Symfony的ClockMock - 但是找不到: - /。
有什麼辦法嗎? (我不想使用類似get_declared_class(),並用它調用clockMock ::註冊 - 因爲它是非常緩慢的soloution約15.000測試: - !/
感謝所有
「我們在尋找解決方案如何臨時替代PHP平臺\ DateTime類。」我沒有跟蹤你爲什麼需要或想要這樣做。模擬它如何幫助單元測試? –
你能展示代碼的rilevante部分嗎? – Matteo
我很抱歉,但我必須把代碼粘貼斌:http://pastebin.com/ZhBMrq4P - 這是簡化的,但主要的問題是存在的。問題是預期的持續通話 - 因爲「新的日期時間」有時產生更大的時間(測試時,在轉第二運行)。有soloution與寄存器中的所有類ClockMock - 但它是非常昂貴的時間爲完整的項目。 – Filip