【发布时间】:2015-08-27 11:20:10
【问题描述】:
我正在尝试为脚本编写一些单元测试,但我似乎无法让 YQL 和 nock 一起工作。使用nock 我可以模拟http 请求没有问题,如下例所示,但是yql 的测试失败,yql 总是没有结果,无论我使用什么(我已经尝试过xpath 也在查询中)。
var http = require('http'),
nock = require('nock'),
yql = require('yql')
/**
* Mock request & test with http
*/
var api = nock("http://example.tld")
.get("/foobar/")
.reply(200, "<html><body><table><tr><td class=\"tablebody\"><a href=\"#\">link</a></td></tr></table></body></html>")
http.get("http://example.tld/foobar/", function(resp){
var str = "";
resp.on("data", function(data){ str+=data})
resp.on("end", function(){
console.log("Got Result: ", str)
})
})
/**
* Mock request and test with YQL
*/
var api = nock("http://example.tld")
.get("/foobar/")
.reply(200, "<html><body><table><tr><td class=\"tablebody\"><a href=\"#\">link</a></td></tr></table></body></html>")
var query = new yql('select * from html where url="http://example.tld/foobar/"')
query.exec(function(err, results){
console.log(results)
})
我想知道这是标题问题,但我尝试过的任何方法都没有产生yql 的结果。
- 非常感谢任何和所有帮助,daithi
【问题讨论】: