iT邦幫忙

0

想請問在使用 phpunit 做測試時要怎麼去調整時區所造成的錯誤?

  • 分享至 

  • xImage

各位好,我目前在製作的專案上測試時遇到了點小問題狀況如下

今天我要做一個簡單的資料庫刪除測試,我會確認是否留下一筆資料以確保刪除的資料是正確的,目前測驗結果如下(紅色部分資料就不好意思提供)
https://ithelp.ithome.com.tw/upload/images/20230106/20147436TzxPXYUgCq.jpg
可以看到其實除了時區之外都是沒有影響的。我這邊使用到的方法是透過 assertDatabaseHas 去判斷內容資料的正確性,但他會因為時區問題判斷錯誤造成無法通過。

目前專案因為資料庫所需所以有將時間調整成Asia/Taipei,在這之前使用 UTC 是正常的,先前已經解決一個格式轉換的問題目前還是有個時區的問題存在。
目前已經查證說測試時資料庫寫入的資料為 Asia/Taipei 時區所以他是在判斷時拿 UTC+0 的資料去做判斷所以造成錯誤,想請問各位有沒有調整上建議?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
alien663
iT邦研究生 5 級 ‧ 2023-01-06 08:53:21

我之前寫過一篇文章,是關於網站前後端時區問題的,雖然不是用php,不過可以參考一下。

如果因為資料庫需求無法改回使用UTC的話,那就只能修改程式碼,在接資料時將時區認定為Asia/Taipei。
參考

我要發表回答

立即登入回答