我的公司希望脫離JUnit 3並開始只使用JUnit 4.另一位實習生和我已被賦予將舊版JUnit 3測試轉換爲使用JUnit 4約定的任務。但是,我正在轉換我正在處理的測試文件。如何將這些JUnit 3測試轉換爲JUnit 4?
從我可以告訴,有一個generateTest方法返回一個SSlTest(SSlTest是TestCase的一個子類)。返回的SslTest覆蓋runTest。 runTest包含一個啓動兩個線程的try-catch塊,clientThread和serverThread(這兩個線程都是在測試文件中定義的Thread的子類)。看起來實際的測試是在線程內部完成的,因爲runTest的其餘部分用於從兩個線程捕獲異常。
generateTest被另一個方法generateSuite調用(返回一個TestSuite)。 generateSuite包含一個外部for循環,它將套件添加到主套件。內部for循環使用generateTest將測試添加到主套件中的每個套件。主套件是該方法返回的內容。
最後,在測試文件的main方法中調用的suite()方法內部,設置while循環以使用generateSuite生成套件並將它們添加到更大的套件中。
我發現遷移到JUnit 4的唯一指南是簡單得多的測試用例。我現在很迷茫,我公司沒有人知道足夠的JUnit 4來幫助我,所以任何提示都會非常感謝!
你擅長敘述代碼:) ..你可以發佈代碼本身嗎? – Tala
你說「generateTest ...返回一個SSITest」 - 你的意思是它返回一個類的實例?還是它寫了一個類的代碼?我知道JUnit 3和4之間的主要區別在於3使用了「test ...」作爲其測試方法的名稱,而4使用了「@Test」註釋。你沒有提到你的3種方法的「測試...」方法;他們沒有他們嗎?他們不遵循慣例,還是我錯過了什麼? – arcy
1.我不確定是否可以自己發佈代碼,因爲它是公司代碼,我不想陷入困境。 2.是的,它返回一個類的實例。有一個在clientThread中調用的「test ..」方法。 – gchan