js test ajax,javascript – 如何使用JsTestDriver测试jquery和ajax调用?

另一种方法是让JsTestDriver为您的模板和一些测试JSON数据提供服务.下面的配置允许您将src / test / webapp / json中的静态JSON测试数据(例如my_data.json)和src / main / webapp / templates中的Mustache模板.你可以改变它以匹配你的源布局,如果这对你的口味太Maven-y.

请注意,JsTestDriver使用/ test / pre-pended为serve属性中指定的URI提供资源,因此src / test / webapp / json / my_data.json实际上是从http:// localhost:9876 / test / src /提供的测试/ web应用/ JSON / my_data.json.

server: http://localhost:9876

serve:

- src/main/webapp/templates/*.html

- src/test/webapp/json/*.json

load:

- src/main/webapp/js/*.js

- src/main/webapp/js/libs/*.js

test:

- src/test/webapp/js/*.js

然后,在测试用例中,您可以轻松加载模板和JSON数据.

testLoadTemplateAndData : function () {

// Variables

var onComplete,template,data,expected,actual,templateLoaded,dataLoaded;

dataLoaded = false;

templateLoaded = false;

expected = "

Your expected markup

";

// Completion action

onComplete = function () {

if (dataLoaded && templateLoaded) {

// Render the template and data

actual = Mustache.to_html(template,data);

// Compare with expected

assertEquals('Markup should match',actual);

}

};

// Load data with jQuery

$.ajax({

url : '/test/src/test/webapp/json/demo.json',success :

function (result) {

data = result;

dataLoaded = true;

},error :

function () {

fail("Data did not load.");

},complete :

function () {

onComplete();

}

}

);

// Load the template with jQuery

$.get('/test/src/main/webapp/templates/demo.html',function(result) {

template = result;

templateLoaded = true;

}

)

.error(function() { fail("Template did not load."); })

.complete(function() {

onComplete();

});

}

当两个jQuery回调都完成时,Mustache应该使用JSON数据解析模板并呈现预期的输出.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值