【问题标题】:Ensure that a Haxe program will run on all platforms确保 Haxe 程序将在所有平台上运行
【发布时间】:2013-01-19 00:36:20
【问题描述】:

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

【问题讨论】:

  • 我想在编写 Haxe 程序时完全避免特定于平台的功能(以确保它们能够编译为尽可能多的语言)。
  • 我希望可以为给定的源文件生成兼容平台列表。
  • 我想我可以简单地为每种目标语言运行 Haxe 编译器,然后检查其输出以查看它已成功编译到哪些语言。需要使用单个 .hxml 文件将其编译为每种语言。

标签: haxe


【解决方案1】:

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

https://github.com/massiveinteractive/MassiveUnit

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

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

  • Flash 8
  • Flash 9+
  • Javascript
  • CPP

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

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

【讨论】:

    猜你喜欢
    • 2019-01-13
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2019-11-07
    • 2010-10-07
    • 2021-06-30
    相关资源
    最近更新 更多