如何在 Godot 引擎中编写测试

Tha*_*kos 5 testing godot

Soo 我正在使用 Godot 引擎开发游戏,我想为代码创建一些测试以确保一切正常,我无法通过需要 5-10 分钟的简单操作来测试游戏。有没有办法写测试???

Tho*_*mas 6

查看GUT、Godot 单元测试框架或WAT

两者之间的差异,引用 WAT 的作者

  • GUT 在场景中运行。WAT 在编辑器本身中运行。
  • GUT(最后我检查过)无法处理创建接受构造函数依赖项的测试替身(因为它使用带参数的 _init 方法)。
  • WAT 具有参数化测试(因此您可以多次执行相同的测试,只需在每次运行时定义不同的参数集)。
  • WAT 的断言范围要大得多(我认为)
  • 如果一种方法失败,WAT 可能会故意使测试脚本崩溃(尽管尚未记录)。
  • WAT 会自行清理内存。GUT 没有。(注意:这主要归功于最近内置于 Godot 的 print_stray_nodes 方法,而 GUT 在其最初创建时没有)。
  • GUT 允许内部测试类。WAT 没有。但是,WAT 具有附加到每个断言调用的“上下文”属性,因此您可以将子上下文添加到父方法的 describe() 方法上下文中。

  • 还有 WAT:https://github.com/CodeDarigan/WAT 由于某种原因,我看到它提到的较少,但它们看起来都大致成对。WAT与编辑器窗口集成(我看的时候Gut没有做),Gut似乎更适合用于自动化测试?其实也没有用过很多。 (3认同)
  • @fedes。谢谢,添加了一些关于 WAT 的信息! (2认同)

小智 5

还有 GdUnit3 https://github.com/MikeSchulze/gdUnit3 ;)

它将在即将发布的 2.0.0 版本中发布,并支持 c#-beta。

GdUnit3 完全集成在 Godot 编辑器中,并带有 UI 检查器来导航测试结果。还支持使用 Github-Action 中的命令行工具进行自动化测试

请随意尝试一下;)