簡體   English   中英

如何開始為 SpringBoot 編寫單元測試(正確的方法)?

[英]How to start writing Unit Tests for SpringBoot(The proper way)?

我是 Spring 單元測試領域的新手,通過一些研究,我認為我將使用 Junit5 和 mockito 和 AssertJ 庫。 我剛剛開始,它看起來確實令人困惑。

第一個問題:我們先寫我們的單位嗎? 意思是我們的控制器方法或服務方法或任何單元..我們是先編寫這些然后為它們編寫測試還是我們首先設計我們的測試認為好的,這個方法需要這樣做,所以我將編寫我的測試然后實際上實施我必須實施的? 我知道這是一個有點傻的問題,但我想知道人們在工作中是如何解決這個問題的。

第二個問題:假設我們編寫測試,某個單元失敗了。 失敗后,我的第一種方法應該是什么,即我是否應該認為我編寫測試的方式很糟糕,所以我需要正確編寫測試以使測試通過,或者我應該像,好的,我的單元一定很糟糕,我會立即更改或重構我的代碼,然后在重構后再次對其進行測試? 在您的某個單元的測試失敗后要做的“事情”是什么?

第三個問題/幫助:測試簡單的 CRUD 方法似乎沒問題,盡管它仍然令人困惑,但有很多資源可供使用。有人可以推薦我一個 github 存儲庫或鏈接或任何已為某些復雜功能編寫單元測試的來源它里面有一些實際的邏輯,而不僅僅是 CRUD 操作? 我想看看如何為代碼中的邏輯編寫測試以及如何實際測試事物。

任何幫助都會受到高度重視。 謝謝你,祝你有美好的一天。

  1. 您在問是否應該“測試驅動開發”(簡稱 TDD),其中首先編寫測試是基本思想。 但是由於您還沒有編寫任何測試,所以從小處着手,然后再編寫測試,一旦您覺得編寫測試很舒服,就在實現之前編寫所有測試。 並閱讀更多關於“TDD”的信息,谷歌是你的朋友。

  2. 這取決於您是否更信任測試代碼而不是生產代碼,反之亦然。 當然,測試代碼也可能有問題。 但是測試代碼實際上應該更容易理解,所以應該更容易決定你可以信任誰。

  3. 請參閱https://medium.com/@sheikarbaz5/spring-boot-with-tdd-test-driven-development-part-i-be1b90da51ehttps://livebook.manning.com/book/spring-boot-in-行動/第 4 章/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM