IngramChen 積分 1

全部都跟 junit 4 不相容,是在想什麼?

這是文章的子討論串,你可以回到上層查看所有討論和文章
caterpillar 積分 0

JUnit 4 寫的測試,基本上說是有 org.junit.vintage 的 JAR 就可以跑了,至於程式碼就慢慢改或新專案再用了…

IngramChen 積分 0

猜想是為了共存,所以做了兩套完全不一樣的

caterpillar 積分 4 編輯於

JUnit 5 想當共主,搞了個所謂的 JUnit Platform!

單就測試框架來說,JUnit 5 中應該是指 JUnit Jupiter 這塊。

JUnit Vintage 底層跑的,應該還是 JUnit 4,只不過多了層 JUnit Platform Engine,然後 JUnit Platform Launcher 透過 Engine 來跑 JUnit 4。

簡單來說,JUnit 4 還是 JUnit 4,只不過 JUnit 5 透過 JUnit Vintage 知道怎麼跑它。

如果有人想,可以實作一個 TestNG 的 [TestEngine1],然後 JUnit Platform Launcher 也可以透過 Engine 來跑 TestNG 了,寫程式時照樣使用 TestNG 的 API。

只是說,如果我用 JUnit 4、TestNG 還是爽爽的,那就繼續用就好了啊?幹嘛中間還多個 JUnit Platform?如果不想使用 JUnit Jupiter 的話,確實就是如此,就架構看來,JUnit Platform 主要是對 IDE、plugin、build tools 有利,不用每個測試框架做一套自己的工具。

當然,真的看完 JUnit Jupiter 而產生了愛的話, JUnit Platform 還是可以當 Migration 過程的平台(從 JUnit 4 到 JUnit Jupiter,或者是從 TestNG 到 JUnit Jupiter?)

目前的理解是這樣…

kaif 積分 0

又是個大平台