긴 responseTime을 시뮬레이트해야합니다. My Moockjax가 작동 중입니다. 올바른 모의 데이터를 제공합니다. 하지만 내 AJAX 호출은 20 초 응답 시간을 설정하더라도 두 번째 페이지에서로드됩니다.Mockjax에서 responseTime이 작동하지 않습니다.
아이디어가 있으십니까?
는 여기 오류의 다른 잠재적 인 원인을 제거하기 위해 최소한으로 테스트 페이지를 감소 :<!DOCTYPE HTML>
<html>
<head>
<script src="jquery.js"></script>
<script src="../jquery.mockjax.js"></script>
<title>MockJax Tests</title>
</head>
<body>
<h1>A MockJax test.</h1>
<p>Take a look into the console.</p>
<script>
$.mockjax({
url: "foo.html",
responseTime: 20000,
responseText: "Hi! I am mockjax."
});
$.ajax({
async: false,
url: 'foo.html',
success:function(data){
console.log(data);
},
error:function(data){
console.log('It doesn’t work that way :(');
}
});
</script>
</body>
</html>
는 또한 CasperJS 및 Mockjax (casper.evaluate의 내부)과 테스트를 썼다. 그것은 거기에 동일합니다.
여기 내 CasperJS 코드
var casper = require("casper").create({
verbose: true,
logLevel: 'error',
clientScripts: ["node_modules/jquery-mockjax/jquery.mockjax.js"]
});
casper.on('remote.message', function(msg) {
this.echo('remote message caught: ' + msg);
})
casper.start('http://der-zyklop.de/', function() {
this.evaluate(function() {
$.mockjax({
url: "/blog/feed",
responseTime: 20000,
responseText: "Hi! I am mockjax!"
});
$.ajax({
async: false,
url: '/blog/feed',
success:function(data){
console.log(data);
},
error:function(data){
console.log('It doesn’t work that way :(');
}
});
});
});
casper.run();
당신이 CasperJS가 설치되어있는 경우, 당신은 npm install jquery-mockjax
다음 casperjs test.js
하여 실행할 수 있어야합니다. 그것은 나에게 20에서 초이 출력을 제공합니다
나는 또한 here에 대해 blogarticle을 썼다.
어떤 jQuery 버전을 사용하고 있습니까? 2.x를 사용하는 경우 1.x로 다운 그레이드를 시도 할 수 있습니다 –
힌트를 보내 주셔서 감사합니다. 1.11.1 및 2.1.1에서 지금 사용해 보았습니다. 불행히도 아무것도 바뀌지 않습니다. – DerZyklop
@ArtjomB. 확실한. 문제 없어. 내 CasperJS 테스트 파일의 내용을 추가했습니다. – DerZyklop