[英]How can I convert these JUnit 3 tests to JUnit 4?
我的公司希望離開JUnit 3並開始只使用JUnit 4.另一個實習生和我被賦予了將舊的JUnit 3測試轉換為使用JUnit 4約定的任務。 但是,我正在轉換我正在處理的測試文件時遇到問題。
據我所知,有一個generateTest方法返回一個SSlTest(SSlTest是TestCase的子類)。 返回的SslTest會覆蓋runTest。 runTest包含一個try-catch塊,它啟動兩個線程,clientThread和serverThread(這些都是在testfile中定義的Thread的子類)。 看起來實際的測試是在線程內完成的,因為runTest的其余部分用於捕獲兩個線程的異常。
generateTest由另一個方法generateSuite調用(返回一個TestSuite)。 generateSuite包含一個外部for循環,可以將套件添加到主套件中。 內部for循環使用generateTest為主要套件中的每個套件添加測試。 主套件是該方法返回的內容。
最后,在測試文件的main方法中調用的suite()方法內,設置while循環以使用generateSuite生成套件並將它們添加到更大的套件中。
我在遷移到JUnit 4時找到的唯一指南是更簡單的測試用例。 我現在很迷茫,我公司沒有其他人知道足夠的JUnit 4來幫助我,所以任何提示都會非常感激!
我要做的第一件事就是試圖說服誰給了我一個不必要的任務。 我知道實習生很難,但值得確保此人理解這不是必要的。
說服事實:
這並不意味着你不必改變任何東西。 這意味着您不必更改大部分代碼。 如果您有自定義運行程序,則需要使用JUnit 4樣式。 您還可能需要classpath suite來收集測試。
將一些測試轉換為JUnit 4也很有價值,因此團隊中的開發人員可以使用一些示例。 但是將它們全部轉換並不能很好地利用時間。
無法發布代碼
沒有代碼,在互聯網上獲得幫助是非常困難的。 我可以理解你的雇主不希望你發布代碼。 (但是他們可能不希望你發布類和方法名稱 - 你做了。)幸運的是,還有另一種選擇。 改為創建一個SSCCE 。 (閱讀鏈接 - 隨着你的工作進展,它會對你有所幫助。)除了更容易閱讀的小例子,它還允許你更改類/方法/等名稱然后你的雇主不會他們的代碼在線。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.