我已经开始编写单元测试了。我需要从另一个脚本signup.js
调用unittest.js
中的函数。我怎样才能做到这一点?
Unittest.html
将合并两个脚本。
<html>
<head>
<script scr ="signup.js"></script>
<script src="unittest,js"></script>
</head>
</html>
这是signup.js
,我必须测试。
YUI.use(function(Y){
demo : function(){
window.alert('hello);
}
});
unittest.js
:
YUI.use(function(Y){
var abc = new Y.Test.case(
testOk : function(){
demo(); // Calling this function but not working
<Some_Assestion_Stuff_Here>
}
);
});
答案 0 :(得分:2)
您的两个脚本都创建了YUI沙箱。沙盒与其他沙箱没有任何共享,因此您无法像这样进行单元测试demo()
。
您可以做的是在signup.js
中注册模块,在unittest.js
中使用。请参阅以下示例:http://jsfiddle.net/746nq/
在signup.js
中,创建模块:
// Create a YUI module in signup.js.
YUI.add('signup', function (Y) {
// Write your module code here, and make your module available on the Y
// object if desired.
Y.Signup = {
demo: function () {
window.alert("Demo!");
}
};
});
在unittest.js
中,使用模块:
// Create a YUI sandbox in unittest.js and use our newly created module
YUI().use('signup', function (Y) {
Y.Signup.demo();
// assert stuff
});
希望这会对你有所帮助。