2013-01-19 30 views
2

我打算在Haxe的一個子集中編寫Haxe庫,將其編譯爲每個Haxe目標語言。是否有任何方法可以驗證Haxe程序將編譯爲所有目標語言,並且是否可以在不在每個目標平臺上手動測試編譯代碼的情況下執行此操作?確保Haxe程序可以在所有平臺上運行

例如,有沒有辦法確保以下代碼在每個目標平臺上都有效,而無需在每個平臺上手動進行測試?

class Test { 
    static function main(){ 
    trace("How can I check to see which platforms this program will run on?"); 
    } 
} 

編輯:我寫了一個compile.hxml文件編譯的類Test.hx各種目標語言。所有必要的haxelib庫都需要先安裝才能正常工作。

-js test.js 
-main Test 

--next 
-php www 
-main Test 

--next 
-cpp cpp 
-debug 
-main Test 

--next 
-main Test 
-java java 

--next 
-cs test 
-main Test 
-D haxe3 
+0

我想在編寫Haxe程序(以確保它們將編譯爲儘可能多的語言)時完全避免特定於平臺的功能。 –

+0

我希望能夠生成給定源文件的兼容平臺列表。 –

+0

我想我可以簡單地爲每種目標語言運行Haxe編譯器,然後檢查它的輸出以查看它編譯成功的語言。它需要使用一個.hxml文件編譯爲每種語言。 –

回答

3

我已經做了一些類似的事情與我的幾個庫(mdowndetox),我能夠測試幾個使用MUnit/MassiveUnit的平臺:

https://github.com/massiveinteractive/MassiveUnit

這是一個單元測試平臺,您可以使用它來檢查跨多個目標的行爲。還有utest,可能還有其他的。

  • 的Flash 8
  • 的Flash 9+
  • 的Javascript
  • CPP

爲您的代碼以下目標目前munit可以自動運行測試有關於添加對其他目標的支持的說明如果你不太瞭解單元測試 - 這是一種編寫大量小測試的方法,以確保你的庫/代碼的行爲像預期的那樣,並且非常適合檢查跨平臺的功能,以及因爲確保在更改代碼時不會破壞事情。)

相關問題