Cucumber HTML5画布和BDD-黄瓜

Cucumber HTML5画布和BDD-黄瓜,cucumber,html5-canvas,bdd,Cucumber,Html5 Canvas,Bdd,最近我学习了行为驱动开发(BDD),我发现它对CRUD web应用程序有好处 像Cucumber这样的BDD工具是否适合游戏,特别是它们是否适合HTML5画布游戏 HTML5画布游戏还有其他BDD工具吗?或者BDD只用于CRUD应用程序?问题是:你能想出用JavaScript与基于画布的游戏交互的方法吗 实际上,你能打开JS控制台并从那里与游戏交互吗?你能在正确的坐标点点击吗?你能按键吗?最重要的是,你能对游戏的输出做出判断吗 如果答案是肯定的,那么您就可以用JavaScript自动化游戏,Cu

最近我学习了行为驱动开发(BDD),我发现它对CRUD web应用程序有好处

像Cucumber这样的BDD工具是否适合游戏,特别是它们是否适合HTML5画布游戏


HTML5画布游戏还有其他BDD工具吗?或者BDD只用于CRUD应用程序?

问题是:你能想出用JavaScript与基于画布的游戏交互的方法吗

实际上,你能打开JS控制台并从那里与游戏交互吗?你能在正确的坐标点点击吗?你能按键吗?最重要的是,你能对游戏的输出做出判断吗

如果答案是肯定的,那么您就可以用JavaScript自动化游戏,Cucumber或Cucumber.js肯定可以在上面使用

如果答案是否定的,并且您无法找到一种与上述方式类似的方式来自动化画布内容,那么恐怕没有自动化工具可以完成这项工作

回答第二个问题:BDD与“CRUD”应用程序完全无关。它是关于描述行为和自动化示例来说明这些行为。因此,您可以在几乎任何类型的应用程序上采用BDD方法


<>你不应该找到一种方法来自动化你的应用程序,你仍然可以考虑编写脚本来记录你的应用程序的(预期)行为。自动化阶段不是强制性的,这与人们的普遍看法相反:)

我最近刚刚在试验BDD和游戏开发。但我正在使用C#构建.NET和XNA框架。我使用visualstudio作为IDE,并使用SpecFlow和NUnit进行测试

SpecFlow是BDD/Gherkin工具——作为一个团队,我们一直在讨论游戏,充实一些需求,并在Gherkin中记录它们。。。从那里开始。关键在于设计可测试的游戏

我们已经将游戏引擎从XNA所需的主“游戏循环”实现中抽象出来,因此我们能够加载它并注入它所需的所有依赖项。然后,我们在引擎上运行测试,然后对代码进行断言,以确保其行为正确

我们很早就决定图形/图纸/声音/等不在测试范围内。。。如果它们在最终产品中被破坏,这将是非常明显的。我们设法建立的测试套件只是让我们相信游戏本身的机制正在按预期工作(即游戏对象A是否在正确的位置?游戏对象B是否在被投射物C击中时死亡?等等)


到目前为止,这是一次非常好的体验。

什么是BDD?你有它的链接吗?BDD是行为驱动的开发。这很有趣,这也是我们应用于重JS web应用的一种策略。这是一个折衷方案,可以使验收测试在其他难以自动化的项目(如游戏或异步UI应用程序)上可行。当然,这是一个个案决定。当然是个案决定。我还认为,对于游戏来说,首先进行一次简短的原型迭代是非常有价值的,以快速了解游戏想法是否值得在一个更耗时的过程中投入大量时间。事实上,我并不是100%相信测试驱动游戏开发的概念。。。当然,对于没有计划升级/序列/补丁等的“一次性”版本;特别是对于独立游戏开发者。但是这个概念是可行的,它允许你测试游戏的“引擎”,而不会被不可能的断言所困扰。