我可能会发现这一点,但我会使用SO.在我的单元测试(qunit)中,我使用(asynchTest的asynchShould别名)测试.部分断言是等待请求的完成/成功.像这样:
asyncShould('talk to customer list server', 1, function() {
stop(2000);
var forCustomerList = newCustomerListRequest();
forCustomerList.page = 'helpers/helper.php';
forCustomerList.data += '&action=customerListServer&DB=11001';
var originalSuccess = forCustomerList.success;
forCustomerList.success = function(msg) {
if (msg.flash !== undefined && msg.data !== undefined && msg.status !== undefined) {
ok(true, 'json structure correct')
}
else {
ok(false, 'json structure not correct');
}
originalSuccess(msg);
start();
};
testController.getServerData(forCustomerList);
})
Run Code Online (Sandbox Code Playgroud) 我正在查看qunit的代码.
我的问题是你为什么要通过属性将qunit对象附加到window对象.
这是文件的链接.看第11行.
如果我使用firebug查看单元测试运行,您可以看到它是窗口的属性.
[编辑]补充:是否有特定的参考资料,用于在特定命名空间中声明事物的最佳实践?
我已经创建了一个插件,可以解决jQuery Ajax函数问题.运行Ajax单元测试1.4.2时无法找到的一个问题它不会通过这两个测试
测试一个测试始终失败:
function callback(msg){
return function(){
equals( this, context, "context is preserved on callback " + msg );
};
}
Run Code Online (Sandbox Code Playgroud)
该this参考而不是被<div/>标签成为XPC跨源包装.
需要注意的是,jQuery 1.4.2 Ajax不能使用FireFox 3.6.8处理301的服务器响应.它将返回0.我已经修改了我的jQuery库来解决这个问题.
还有一些JSONP停止计时.BUG#5383.
也许一些演示文稿问题和这个插件将为野外做好准备.
任何帮助,将不胜感激.包括设计.提前致谢.
现在我想要得到这个:
Array
(
[0] => hello
[1] =>
[2] => goodbye
)
Run Code Online (Sandbox Code Playgroud)
其中索引1是空字符串.
$toBeSplit= 'hello,,goodbye';
$textSplitted = preg_split('/[,]+/', $toBeSplit, -1);
Run Code Online (Sandbox Code Playgroud)
$textSplitted 看起来像这样:
Array
(
[0] => hello
[1] => goodbye
)
Run Code Online (Sandbox Code Playgroud)
我正在使用PHP 5.3.2