Unit Testing

From CDOT Wiki
Revision as of 01:14, 8 December 2006 by Paul (talk | contribs) (Structure this framework)
Jump to: navigation, search

Project Name

JavaScript Unit Testing

Project Description

Use an existing unit testing framework (or create one) and demonstrate its use by writing a collection of unit tests that fully test a browser feature of your choosing. The framework will provide decent setup and teardown code that will enable the programmer to start the browser, run the tests, report pass/fail and shutdown the browser.

Project Leader(s)

Paul Yanchun Gu (IRC: gpaul)

Project Contributor(s)

Project Details

  • Had read the links from Dave, it's very interesting, it's called test_nodelist.

October 27, 2006

  • Had really hard time on trying to understand how to build and run a test case. This involves the following technologies that I had never learned before:
    • XUL
    • install.rdf
    • chrome.manifest
    • Extension Wizard generator

November 9, 2006

  • When I try to run the bookmark tester, I got this error:
    • Error: uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: chrome://bookmarkstester/content/testerWindow.js :: <TOP_LEVEL> :: line 134" data: no]

November 10, 2006

  • Fixed exception error, change window.attachEvent("onload", testerWindow.startup(), false) to window.attachEvent("onload", testerWindow.startup, false);
  • Trying to get error console working for debugging ...
  • dump, setting the preference browser.dom.window.dump.enabled to true in Firefox, then start FF in console: -console
  • DOM:window

November 12, 2006

  • Try to find most function calls in Firefox, cannot get it work.
  • Try to display the firefox console for debugging ,the Firefox 2 cannot brings up console when I tried to user command: firefox.exe -console. In error console from the firefox menu, it displayed an error message: cannot recongnize the command -console.

November 18, 2006

November 19, 2006

First unit testing attempt.gif


This is screen shot before search
Bookmarks manager before.jpg

This is screen shot after search
Bookmarks manager after.jpg


  • Spent a whole day on trying to debug firefox API... no documentation... man ===

November 20, 2006

December 06, 2006

  • Code documentation for all the code
  • Instruction on how to write test cases by using this framework

December 07, 2006

  • Finished documentation of the framework


Unit Testing Framework for Firefox

Introduction of this framework

Unit Testing is an approach of programmatic testing of software. The participant will take a section of code and write unit tests for it, so they can find any possible bugs that may exist in the code.

This framework will allow the participant to write unit test cases easily without knowing the UI, messages, and logs. They can focus on write test cases and the framework will take care the rest of the work.

Structure this framework

This framework is an extension of Firefox, it has the common structure that the extension has. This is also a special extension that allows the participant to extend it to many types of unit testing. In following sections, I will use the screen shots to explain the details of the framework.

Structure01.png

This the screen shots, we can see this framework contains the following folder and files:

  • content. It contains the framework code and unit testing code
  • default. This holds default preferences of this extension.
  • local. This contains the language settings of this extension.
  • skin. This is the style of the extension.
  • build.sh, chrome.manifest, config_build.sh, install.rdf, and readme.txt are standard files of the extension. They contains installation information.

How to write test case by using this framework

What have done

What need to be continued

What I have learned

Project News

  • Wednesday, September 20, 2006 1:07 pm, Rob helped me to get start on JSUnit Testing.
  • Monday, September 18, 2006 8:36 am, Dave helped me to connect to Rob Campbell, who is from Mozilla QA team. He explained to me about Unit Testing used in Mozilla.
  • Wednesday, October 4, 2006, Saw this interesting post about test cases in Mozilla, and the code example is quite useful.