日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

junit junit_使用junit做其他事情

發布時間:2023/12/3 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 junit junit_使用junit做其他事情 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

junit junit

junit!=單元測試

Junit是Java單元測試框架。 通常,我們將它用于單元測試,但是很多時候我們也使用它來執行集成測試。 主要區別在于,單元測試測試單個單元,而集成測試則測試不同類如何協同工作。 這樣,集成測試可以覆蓋更長的執行鏈。 這意味著與單元測試相比,它們可能發現更多的錯誤,但同時它們通常運行更長的時間,并且如果測試失敗,則更難找到錯誤。 如果您(作為開發人員)知道這些差異,那么使用junit執行非單元測試就沒有錯。

當使用junit框架執行系統測試時,我已經在生產代碼中看到了示例,其中測試的執行鏈包括通過網絡進行的外部服務調用。 Junit只是一種工具,因此,即使您知道其缺點,也沒有本質上的問題。 但是,在實際情況下,junit測試的執行是在正常的maven測試階段執行的,并且一旦外部服務中斷,代碼就無法構建。 這很不好,因為清楚地表明開發人員在創建代碼時并未意識到包括外部服務和構建過程在內的全局情況。

說完這些之后,讓我告訴您一個不同的故事,稍后再加入這兩個主題。

我們說語言...很多

大多數時候,我們的程序都有用戶界面。 該界面包含文本,通常使用不同的語言。 通常以代碼所針對的英語和當地語言。 文本文字通常是外部化的,存儲在“屬性”文件中。 對于多種語言,我們為每種語言都有單獨的屬性文件,每種屬性文件都為id定義文字文本。

例如我們有文件

messages-de.properties messages-fr.properties messages-en.properties messages-pl.properties messages.properties

在Java代碼中,我們通過Spring MessageSource調用來訪問它們

String label = messageSource.getMessage("my.label.name",null,"label",locale);

我們,程序員有點懶

當我們沒有一些文本翻譯時,問題就來了。 用不同語言指定標簽實際文本的工作不屬于程序員。 程序員是精通Java,C和其他編程語言的人,但是在涉及自然語言時并沒有真正的光輝。 我們大多數人不會說所有需要的語言。 有人負責翻譯文本。 通常,不同的人使用不同的語言。 其中一些工作速度更快,另一些工作速度較慢,編碼只是等不及翻譯準備就緒。 在最終翻譯可用之前,我們使用臨時字符串。

所有臨時解決方案都將成為最終解決方案。

臨時字符串(只是英文版)已包含在發行版中。

流程和紀律:失敗

為避免這種情況,我們實施了一個流程。 我們為每種翻譯打開了一個Jira問題。 當翻譯準備就緒時,它就附屬于該問題。 當將其編輯到屬性文件中并提交到git時,問題已關閉。 如此沉重的負擔和開銷,使程序員為此放慢了速度,而紀律不明的程序員只是沒有遵循該過程。 通常這是一個壞主意。

我們得出的結論是,不轉換為屬性文件并不是真正的大問題。 問題是不知道它丟失并創建發行版。 因此,我們需要一個過程在發布之前檢查屬性文件的正確性。

光路過程與控制

手動檢查會很麻煩。 我們創建了junit測試,該測試比較了不同的語言文件,并檢查了另一個語言文件中是否沒有鍵,并且這些值與默認的英語版本不相同。 每次發布項目時都要執行junit測試。 然后我們意識到其中一些值確實與英文版本相同,因此我們開始在語言文件的第一個位置使用字母“ X”來表示正在等待真正翻譯價值替換的標簽。 此時有人建議將junit測試替換為簡單的“ grep”。 幾乎是事實,只是我們仍然希望發現丟失的鍵并在發布過程中自動測試運行。

摘要和總結

Junit框架旨在執行單元測試,但是這些框架不僅可以用于其設計目的,而且可以而且將被使用。 (附帶說明:對于任何工具,實際上都是正確的,無論是像錘子一樣簡單,還是像Java接口中的默認方法一樣復雜。)

您可以使用junit執行可以在構建和/或發布的測試階段執行的任務。

  • 任務應該快速執行,因為執行時間會增加構建/發布周期。
  • 不應依賴外部資源,尤其是通過網絡可訪問的外部資源,
    因為這些故障可能還會導致構建過程失敗。
  • 如果某些內容對于構建不可接受,請使用junit api發出失敗信號。 不要只寫警告。 沒有人閱讀警告。

翻譯自: https://www.javacodegeeks.com/2015/02/using-junit-something-else.html

junit junit

總結

以上是生活随笔為你收集整理的junit junit_使用junit做其他事情的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。