我有点了解TDD和BDD与Ruby / Rails,但我最终需要使用我的JavaScript代码进行某种形式的测试。我使用MooTools作为JS框架,我非常喜欢用代码库组织和模块化代码的能力。但是,有时候,当我向应用程序添加新功能时,我发现功能很容易就会破坏它以前的工作方式。
在测试JavaScrtpt代码时,测试本身是否缺乏用户交互?它真的只是在JavaScript中测试方法和(模拟)类的细节吗?或者是否有一个UX测试实践,您可以在其中编写单元测试,以查看应用程序的UX行为是否正在执行它应该如何执行?我知道“行为”是一个广义的术语,但无论如何你可以组织你的JavaScript测试,这样每当你添加新的东西时,你可以休息(有点)保证你的新代码不会破坏任何东西?如何处理任何较大的网络应用程序?
答案 0 :(得分:4)
完全没问题,接受并建议使用单元测试框架,例如JSSpec或Jasmine(还有很多其他框架)。
然后,您可以使用Ghostbuster或Selenium等工具进行UI单元,功能甚至集成测试。这些允许您伪造用户事件和交互。
Ghostbuster还很年轻,所以我们对“实际”用途知之甚少,但Selenium是一个行业标准(我知道它在IBM使用,来源:在IBM工作的老师)。
但是,您无法自动测试的是 UX 。用户体验代表用户体验,这不是你在软件上测试的东西,只有真正的用户测试。