0
我爲一家正在開發服務器軟件的公司工作,我的工作是爲該軟件運行自動化測試。最新版本的服務器是使用Java 8構建的,這是由於我們舊的測試框架適合Java 7而引起的問題。我們使用TestNG插件來運行我們所有的測試,但據我所知, TestNG的每個版本都是用java 7編譯的,所以如果我用java 8編譯測試,插件會拋出一個major.minor不支持的52.0錯誤,如果我嘗試使用插件運行它們。另一方面,使用Java 7編譯測試會導致在測試嘗試向服務器發送請求時發生相同的錯誤。如何使用javac跨編譯我的舊測試以與java 8兼容?
如何交叉編譯這些測試,以便它們與TestNG和服務器一起工作?交互工作如下:TestNG調用測試,然後測試調用服務器。
我對這個一點讀了,我想我需要這樣的東西:
的javac -source 1.7 -target 1.8 PROJECTNAME
這是一個可行的辦法?
如果你需要你的編譯類與Java 7一起工作,使用-target 1.7'。 – VGR
TestNG支持Java 7 *或更高版本*,因此它應該可以工作。當然,如果你使用'-target 1.8',你將需要一個1.8 JVM來運行你的測試。關於向服務器發送請求,我們需要更多上下文來了解這些請求可能如何受到目標或JVM版本的影響。 –
我已經嘗試了-target 1.7。它使測試與TestNG插件兼容,但現在它們與服務器本身不兼容。我不能泄露太多細節@Didier L(專有知識和whatnot),但服務器有很多類文件(用java8編譯),測試調用這些類文件中的函數來與服務器交互。 –