0
我的應用程序使用了很多時間特定的邏輯和模型。在開發中,我會經常更改機器的時間,以便更輕鬆地測試和開發我的應用程序。但是,這有些退步(例如,互聯網部分停止工作)。可以覆蓋Rails開發模式中的當前時間嗎?
有什麼方法可以覆蓋我的Rails應用程序的'當前'時間是什麼?我不打算改變應用程序的時區。我也不打算覆蓋或包裝各種Time方法的訪問器。最後,我不打算在應用程序中混淆測試(這些測試已經包含在各種timecop助手等等中)。
例如,如果我可以設置時間偏移量,那就太棒了。所以,如果是美國東部時間下午5點,告訴我的導軌應用程序,當前時間實際上比真實時間少90分鐘。所以如果是美國東部時間下午5點,我的應用程序將閱讀美國東部時間下午3:30。
這可能不太可能,但是這會讓我的團隊的生活變得更加輕鬆。
虛擬機是一個很好的建議,正是我所做的。我在Docker容器中設置了我的rails應用程序,並使用來覆蓋時間。 – chrismanderson
可悲的是,這並沒有結束工作,libfaketime與Ruby一起使用時會導致段錯誤。 :( – chrismanderson
@chrismanderson我對libfaketime並不熟悉,但我不希望Docker有足夠的虛擬化來取得成功,您需要更多類似VirtualBox或類似的東西。 –