iT邦幫忙

0

執行pytest建立一筆db資料,test_db沒有資料但查詢的到這是什麼情況?

  • 分享至 

  • xImage

HI 大家好,

詳細敘述一下問題,我在pytest上一運行test_create_user程式會執行以下事件:
(1) 利用sqlalchemy建立一個test_db(在postgresql上)
(2) 建立一個test_session
(3) 建立一個新的使用者到test_db
(4) 最後再去查test_db是不是有這筆資料

問題是:
由程式透過test_session是可以找到這筆資料並且回傳id,但我實際到test_db去查卻沒有這筆資料,想知道這個會是什麼原因?

再麻煩各位幫忙了!

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

2 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2022-09-02 09:39:10

由程式透過test_session是可以找到這筆資料並且回傳id,但我實際到test_db去查卻沒有這筆資料,想知道這個會是什麼原因?

我不知道什麼原因
建議除錯方法如下:
1.實際到 test_db 去新增一筆測試資料
2.用程式的(2)(4) 去查詢該筆資料,可能結果有二
2.1 查得到 那就可能是「原程式的(3)」的原因
2.2 查不到 那就可能是「原程式的(2),(4)」的原因

oowe iT邦新手 5 級 ‧ 2022-09-02 14:54:44 檢舉

好的我先試看看 謝謝

0
柳丁柚
iT邦新手 1 級 ‧ 2022-09-02 11:32:01

還有一個可能
純粹session的目標寫錯了

oowe iT邦新手 5 級 ‧ 2022-09-02 14:56:39 檢舉

我也怕 但是我有把兩個的session 用 “print(id(session))”
出來的確是一樣的 這樣可以確定是同一個session變數對嗎?
想確定一下 我這樣的檢查方式對不對 或者有其他的建議 謝謝

柳丁柚 iT邦新手 1 級 ‧ 2022-09-05 09:40:37 檢舉

對 所以你用test_session是可以找到那筆資料
但test_session的目標可能不是test_db而是其他資料表或虛表

我要發表回答

立即登入回答