2
我有signup.js
,其中包含一个函数名称demo()
。此函数调用带有参数的另一个YUI库函数:嘲笑YUI函数
Y.io('mywrongserver',callbackfunction);
我要测试这个功能,但我想拨打电话到正确的服务器
Y.io('myrightserver',callbackfunction);
这怎么可能?我不想更改signup.js
中的任何代码,因为它是由开发人员完成的。
我们可以利用嘲笑吗?
代码将是这样的:
signup.js
demo : function(){
alert('i am inside demo');
// Some other stuff
callback = {
on :{
success:function(x,o){
// Some stuff here
}
}
}
// Now call to wrong server
Y.io("mywrongserver", callback);
test.js
// Using JSMOCKITO APIs for YUI
testDemo = function(){
// Need to test demo function in signup.js But such that Y.io call to right server
}
感谢
我投了票重新打开了这个。理由不明确。这不是代码问题 - 这是一个关于模拟是否可用于测试的问题。答案似乎是肯定的 - 这就是嘲笑。但是我还没有发布答案,因为我不知道是否有一个嘲笑图书馆来处理这个特殊情况。尝试jsmockito似乎是显而易见的事情,但我没有时间。无论这个问题是否可以用jsmockito进行测试,在我看来都是一个完全正确的问题。 –
答案确实是“是”。我没有使用jsmockto,但我可以用一般的术语来回答它。基本上,你用自己的函数覆盖'Y.io',测试'Y.io'是否通过了正确的参数。请重新打开该问题。 – juandopazo
@DavidWallace - 关于模拟对象的主题以及如何创建它们的信息可以在YUI文档中找到,或者使用Google。如果“是”是对这个问题的回答,那么其他人不仅会使用Google或YUI/JSMockito自行解决这个问题,它也不是适合这种格式的问题。因此脱离主题。 –