我计划在 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
最佳答案
我已经用我的一些库( mdown 和 detox )做了一些类似的事情,并且我能够使用 MUnit/MassiveUnit 测试几个平台:
https://github.com/massiveinteractive/MassiveUnit
这是一个单元测试平台,您可以使用它来检查跨多个目标的行为。还有utest ,可能还有其他。
目前 munit 可以在以下目标上自动运行代码测试:
- 猫
- Flash 8
- Flash 9+
- Javascript
- CPP
有添加对其他目标的支持的说明 here
(如果您对单元测试不太了解 - 这是一种编写大量小型测试的方法,以确保您的库/代码按预期运行,并且非常适合检查跨平台的功能,以及使确保更改代码时不会破坏代码。)
关于haxe - 确保Haxe程序可以在所有平台上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14409869/