我应该单独测试我的JavaScript吗?

JP *_*shy 12 javascript jquery unit-testing

我很好奇它是否有价值,我想开始使用QUnit,但我真的不知道从哪里开始.实际上我不会撒谎,我是一般的测试新手,而不仅仅是JS.

我希望得到一些提示,我将如何开始使用已经拥有大量JavaScript的应用程序进行单元测试(好吧,所以大约500行,不是很大,足以让我想知道我是否有未被注意到的回归).你会如何推荐入门,我会在哪里写测试?

(例如它的rails应用程序,在哪里是我的JS测试的合理位置,如果它们可以进入/test目录但是它在公共目录之外并且因此不可能,那将是很酷的......错误的是它?)

Ed *_*fer 12

好吧,从JsUnit开始.不过,听起来你对单元测试更感兴趣.

从单元测试中获得的东西(如果他们做得对)是:

  • 正如您所提到的,能够检测代码中的回归
  • 由于每段代码都已经过自己的测试,因此集成度较低
  • 清楚地了解您的代码如何被使用(而不是预期)

单元测试应该基本上触及代码中的任何公共方法.有时您可能有理由测试私有方法,我相信您可以决定何时可以.目标很简单:

  • 使用正确的输入测试该方法是否正确
  • 测试该方法使用错误的输入做正确的事情.

在许多方面,您的测试应该定义方法的功能.

有时,当人们编写单元测试时,他们会故意"删除"任何集成代码(即从数据库,文件或业务逻辑返回其他数据的方法调用),并使它们返回静态数据.这有助于您更自信地只测试您正在测试的逻辑中存在的代码.

您可能希望继续阅读有关良好和不良单元测试实践的更多信息.

编辑:我不太了解在Ruby on Rails中执行此操作,但您可能会考虑查看其他人正在做的事情.最终,提供给你和你的测试结构的工具,要依赖于你的框架和语言.