【问题标题】:javascript testingjavascript测试
【发布时间】:2011-04-20 19:28:37
【问题描述】:

我目前正在开发我的第一个小型 Javascript 项目,它通常是一个驱动 Thunderbird 扩展的小脚本。 因为我是一名 Java 程序员,所以我喜欢测试我的代码以保持其可维护性并检查它是否按预期工作。

我要测试的是一个简单的脚本,它基本上获取一个 URI,连接到服务器,下载一个 zip 文件,最后将它解压缩到文件系统。 我不使用 Javascript - “类”,我只有这 2-3 个函数,组装在一个主函数中。

我想模拟服务器,以测试脚本在不同服务器响应、损坏文件等情况下的行为。

现在我的问题是我真的不知道如何在 javascript 中进行测试。 我试图大致了解可用的测试框架,最后决定 Jasmine 是我想要使用的,因为它似乎是最成熟的。

我对 Java 中的单元测试非常满意,并且认为自己是一名普通的测试工程师,但我很难获得对整个脚本测试的访问权限。

有什么好的建议吗?也许是一个有用的教程或一个很好的例子?

【问题讨论】:

  • 请查看jsfiddle.net。这是一个玩javascripting的好工具,甚至包含大多数javascrtip框架,你也可以输入html和一些css。如果你愿意,你也可以加载你的自定义 css/javascript 库。
  • 不只是 Java 人喜欢测试 ;)
  • jsfiddle 似乎非常适合探索一些代码。不幸的是,我还没有时间更详细地玩弄它。问题是它似乎没有帮助我测试我的代码......或者我错过了什么?

标签: javascript testing mocking


【解决方案1】:

该方法可能与您在 Java 中采用的方法相同:模拟获取数据的类/函数。

我假设你正在使用 XMLHttpRequest,所以最简单的方法是这样的:

  • 具有执行请求并使用数据回调的函数
  • 提供一种将其注入代码或将其替换为模拟的方法
  • 将数据获取函数替换为模拟函数,该函数仅使用您的虚拟数据进行回调

我会推荐这本书"Test Driven JavaScript Development"进一步学习

【讨论】:

  • 嘿贾尼!感谢您的回答。您使用哪种测试框架?
  • 啊,是的,我确实使用了包含 if-modified-since 标头的 XMLHttpRequest。
  • 我倾向于在我的项目中使用 JsTestDriver,因为它可以很容易地设置多浏览器测试,并且可以从命令行运行测试,这对我来说是必须的。它还可以很好地与持续集成的东西集成。
猜你喜欢
  • 1970-01-01
  • 2013-07-21
  • 2015-06-05
  • 2013-10-15
  • 2010-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
相关资源
最近更新 更多