如何在JavaScript中读取测试输入文件?

时间:2012-07-06 08:21:38

标签: javascript file unit-testing io

假设我想在浏览器中使用QUnit测试一个处理字符串的javascript函数。现在我想从文件中读取输入字符串。

我想我不能使用node.js模块来访问文件系统。我正在考虑从javascript调用浏览器来通过URL读取文件(文件:/ home /...)

有意义吗?你会怎么建议去做?

3 个答案:

答案 0 :(得分:2)

您可能希望查看FileFileReader API。它们允许访问本地存储的文件。

您还可以考虑使用JSONP从远程主机检索测试数据。无论何时您想运行测试,都需要对该主机进行网络访问。

答案 1 :(得分:1)

在我看来,你有两种选择:

  1. 使用纯Ajax读取文件URL的内容(顺便说一下,我之前从未尝试过)
  2. 使用网络服务器运行的语言支持读取文件内容并将其作为http响应发送。使用Ajax来检索和存储该响应。

答案 2 :(得分:1)

“file:/ home /”仅在您因浏览器Same Origin Policy限制而在浏览器中打开本地html文件时才有效。

如果要遵循标准,则必须在包含要测试的js函数的html的同一服务器上托管此类文件,并通过ajax请求加载它。它将在JS上下文中以纯字符串形式提供。