当前位置:编程学习 > JAVA >>

运用D.O.H进行Javascript应用程序测试(二)

上章“运用D.O.H进行Javascript应用程序测试(一)”使用firebug和Javascript注入技术快速展示了D.O.H的功能和基本用法。主要是:

  • 通过
    			dojo.provide("demo.doh.tests.functions.demoFunctions");

    来注册测试代码模块,并在测试代码模块中通过我们熟悉的

    			//Import in the code being tested.
    			dojo.require("demo.doh.demoFunctions");

    来引入被测试代码模块。

通过doh.register(),而不是dojo.declare来定义测试代码模块:

 

 

doh.register("demo.doh.tests.functions.demoFunctions", [

 

function test_alwaysTrue(){

 

// summary:

 

// A simple test of the alwaysTrue function

 

// description:

 

// A simple test of the alwaysTrue function

 

doh.assertTrue(demo.doh.demoFunctions.alwaysTrue());

 

}

 

]);

 

 

但有这样一些问题没有解决:

  1. doh由谁来引入?在前文中是通过firebug控制台来注入的。
  2. 测试代码如何被运行起来?在前文中,是通过firebug控制台注入测试代码,并手动执行doh.run()命令来启动测试的。

现在我们来看看常规的开发中应该如何布署测试。

首先我建议你将开发目录设置为类似下面的结构(与测试无关,只不过这里提到了测试,顺便提一下):

image

几年以前我们开始Java web application开发时,总是将test文件夹与src文件夹平行放置。上面的结构是Spring Roo的风格,现在我更能接受这种目录结构。

首先,注意到util/doh下面的runner.html。该文件为运行测试提供了以下的基础设施:

  • 一个图形化的窗口和浏览器环境。这样不仅可以运行跟浏览器窗口有关的测试代码,而且提供了更好的图形化测试报告呈现。
  • dojo和doh加载。这样就解决了前面所提到的谁来注入doh的问题。
  • 启动测试引擎doh.run()。

现在惟一的问题就是,如何让这个框架运行我们的测试代码?

答案在runner.html可以接受query string,这些query string被用作输入参数,巧妙!(曾经看到一篇blog提到,使用类似的方法以打开dojo的调试开关)。

runner.html可以接受下面的参数:

  • dojoUrl 缺省地runner.html使用../../dojo/dojo.js作为dojo的位置。这个参数用来改写这个设置。
  • testUrl  如果你的测试当中用到了任何第三方的库,而无法使用dojo.require注入的,通过这个参数来注入第三方库。尽管关键字testUrl使用了单数形式,但实际上它可以接收多个url,这些url需要以‘,’分隔。如果url不带’.js’,它也会自动补上。
  • testModule 通过这个参数来引入我们的测试代码。同样,它可以接收多个moduleName,这些moduleName之间使用’,'分隔。dojo在绝大多数
    补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,