我对GML和TDD一窍不通。我想练习使用测试驱动开发和单元测试到游戏制作语言GML中。由于GML是事件驱动的,这是否可行?我没有找到很多关于如何在GML中实现单元测试和测试驱动开发的示例或教程。
你如何在游戏制作语言中编写单元测试?
我对GML和TDD一窍不通。我想练习使用测试驱动开发和单元测试到游戏制作语言GML中。由于GML是事件驱动的,这是否可行?我没有找到很多关于如何在GML中实现单元测试和测试驱动开发的示例或教程。
你如何在游戏制作语言中编写单元测试?
我已经开始编写一个专门针对GML的测试框架,它被称为hobo_test,你可以在Github上找到它。目标是提供一组对象 / 脚本,你可以从finder将其拖放到任何项目中,然后开始编写一些简单的测试。
with(o_player)
{
before_lives = num_lives
take_damage();
it("should decrease the number of lives", before_lives-1, num_lives);
}
TEST
对象上的计数器,显示所有测试的结果(绿色表示成功,红色表示失败)。在测试失败时,它将打印您编写的应该语句和预期及实际结果。您可以对任何可独立调用且具有可验证结果的内容进行单元测试。
我不了解GML,但从维基百科上可以看出它是一种特殊用途的脚本语言。如果您能够从通常运行的位置之外调用此类脚本,并且能够检查您可以测试它的结果,则可以进行测试。
然而,
"GML is heavily integrated with the Game Maker environment."
这可能意味着您不能在隔离环境中调用任何脚本或函数。