首頁>Program>source

對,我的junit測試看起来很长话:

  • I create 4 users
  • I delete 1 user
  • I try to login with the deleted user and make sure it fails
  • I login with one of the 3 remaining user and verify I can login
  • I send a message from one user to the other and verify that it appears in the outbox of the sender and in the inbox of the receiver.
  • I delete the message
  • ...
  • ...

Advantages : 這些測試非常有效(非常善於檢測錯誤)並且非常稳定,因為它们仅使用API​​,如果我重構代碼,那麼測試也將重構.由於我不使用"肮脏的把戲",例如以给定狀態儲存和重新載入資料庫,因此我的測試忽略了架構更改和實現更改。

Disadvantages : 測試變得难以維護,測試中的任何更改都会影响其他測試.測試執行8-9分钟,這對於持續整合非常有用,但對開發人員来說却有些沮丧.測試不能孤立執行,最好的办法是在您感兴趣的測試執行之後停止-但您绝對必须執行之前进行的所有測試。

您將如何改进我的考試?

最新回復
  • 9天前
    1 #

      break up your tests to be independent

      consider using an in-memory database as the backend for your tests

      consider wrapping each test or suite in a transaction that is rolled back at the end

      profile the unit tests to see where the time is going, and concentrate on that

  • macos:點突然使用錯誤的Python版本
  • html5:使用不同螢幕尺寸的画佈