3

我已经开始编写单元测试。我需要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>

  }

   );


});
4

1 回答 1

2

您的两个脚本都创建了 YUI 沙箱。两个沙箱都不与另一个共享任何东西,因此您无法实现这样的单元测试demo()

你可以做的是注册一个模块signup.jsunittest.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
});

希望这对您有所帮助。

于 2013-06-21T07:02:22.920 回答