-- Leo's gemini proxy

-- Connecting to republic.circumlunar.space:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

Running Dojo 1.7+ DOH unit tests on the command line with Rhino


To run your own DOH -based unit tests on the command line using Rhino :


NOTE: this is Dojo 1.7 and above. For 1.6, there was a whole other cryptic incantation.


DOH

Rhino


Project layout


Imagine your code is somewhere different from dojo, and another library you use is somewhere else:


C:/code/mycode/org/me/mytests/
                            ...
                            mytestmodule.js
                            ...
C:/code/mycode/org/them/nicelib/
                            ...
C:/libs/dojo/dojo/
                ...
                dojo.js
                ...
            dijit/
                ...
            dojox/
                ...
            util/doh/
                    ...
                    main.js
                    ...


Config file


Yes, you need a config file. Imagine it's at C:/code/mycode/dohconfig.js and it looks like this:


require({
   paths: {
       "org/me" : "../../../code/mycode/org/me",
       "org/them" : "../../../code/mycode/org/them/nicelib"
   }
});


Command line


Now you can run your tests like this:


java -jar C:/libs/dojo/util/shrinksafe/js.jar C:/libs/dojo/dojo/dojo.js baseUrl=file:///C:/libs/dojo/dojo load=file:///C:/code/mycode/dohconfig.js load=doh test=org/me/mytests/mytestmodule


Explanation


java -jar - run Java and execute a JAR file.


C:/libs/dojo/util/shrinksafe/js.jar - path to the JAR file that is Rhino, a JavaScript interpreter written in Java (and included in Dojo's source distribution).


C:/libs/dojo/dojo/dojo.js - the Dojo "loader" - unlike in 1.6 and earlier, you don't run DOH's runner.js. Instead you run dojo.js and pass "load=doh" as an argument.


baseUrl=file:///C:/libs/dojo/dojo - a URL form of the location of the directory that contains dojo.js.


load=file:///C:/code/mycode/dohconfig.js - the location of your config file, which defines the "paths" variable, previously (in 1.6) known as registerModulePaths. This variable helps Dojo find your code based on its module name (here "org/me").


load=doh - after you've read (actually, executed) the config file, execute DOH.


test=org/me/mytests/mytestmodule - the module name of your test (not the path - a module name which can be found using the lookups in the paths defined in your config file).


Originally posted at 2012-10-09 15:19:38+00:00. Automatically generated from the original post : apologies for the errors introduced.


original post

-- Response ended

-- Page fetched on Sun May 19 05:31:30 2024