当前位置: 首页 > 工具软件 > JsTestDriver > 使用案例 >

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

范承望
2023-12-01

另一种方法是让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数据解析模板并呈现预期的输出.

 类似资料: