2011-11-14 32 views
3

我对Ruby/Rails的TDD和BDD有点了解,但我最终需要使用JavaScript代码进行某种形式的测试。我使用MooTools作为JS框架,我非常喜欢我能够如何使用代码库组织和模块化代码。但是,有时候,当我向应用程序添加新功能时,我发现功能可能很容易从之前的工作中解脱出来。你可以用JavaScript测试多远?

当谈到测试JavaScrtpt代码时,测试本身是否缺乏用户交互?是否真的只是在JavaScript中测试方法和(模拟)类的内部和外部?或者是否有UX测试惯例,您可以编写单元测试来查看应用程序的用户体验行为是否应该如何执行?我知道“行为”是一个广义的术语,但无论如何,您可以组织JavaScript测试,以便每当添加新的东西时,您就可以休息(有点)确保新代码不会破坏以前的任何内容?这是怎么做的与任何较大的网络应用程序在那里?

+0

您正在编写瘦客户机还是胖客户机? – Gutzofter

回答

4

这是完全好的,接受并建议使用单元测试框架,如JSSpecJasmine(还有很多其他的)。

然后,您可以使用工具(例如GhostbusterSelenium)来执行UI单元,功能甚至集成测试。这些允许你伪造用户事件和交互。 Ghostbuster还很年轻,所以我们不太了解“实际”用途,但Selenium是一个行业标准(我知道它在IBM使用,来源:在IBM工作的教师)。

但是,您无法自动测试的是UX。 UX代表用户体验,这不是您在软件上测试的东西,只能通过真实的用户测试。

+0

谢谢你的直接结果。我所说的“模拟”本质上是一个类系统,因为JavaScript语言不能正确支持常规的OOP类,所以创建了这个类系统。所以需要像MooTools这样的工作。 – matsko

+0

我明白你的意思(和意思),但我不会说类只是因为它们不是基本语言的一部分而被“模拟”。所有的OOP模式都可以通过原型继承来实现,而不是“伪造”。无论如何,这超出了问题的范围。我将编辑我的答案以删除此部分。 – MattiSG

+0

顺便说一句,既然你没有接受答案,有什么我错过/没有得到你的问题? :) – MattiSG

相关问题