2

我计划在 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
4

1 回答 1

3

我用我的一些库( mdowndetox )做了一些类似的事情,并且我能够使用 MUnit / MassiveUnit 测试几个平台:

https://github.com/massiveinteractive/MassiveUnit

这是一个单元测试平台,您可以使用它来检查您跨多个目标的行为。还有utest,可能还有其他。

目前,munit 可以在以下目标上自动为您的代码运行测试:

  • 闪光 8
  • 闪电侠 9+
  • Javascript
  • CPP

这里有添加对其他目标的支持的说明

(如果您对单元测试不太了解 - 这是一种编写大量小测试以确保您的库/代码按预期运行的方法,并且非常适合检查事物是否跨平台运行,以及确保您没有更改代码时不要破坏。)

于 2013-01-19T03:53:25.367 回答