YUI ..从另一个java脚本调用一个javascript函数

时间:2013-06-21 02:59:30

标签: yui

我已经开始编写单元测试了。我需要从另一个脚本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>

  }

   );


});

1 个答案:

答案 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
});

希望这会对你有所帮助。