node-qunit icon indicating copy to clipboard operation
node-qunit copied to clipboard

Do you have any tutorial about exposing the object to be tested and referring a dependency

Open php-max opened this issue 12 years ago • 5 comments

I just guess you made a great lib of qunit. But cannot find any information about how to referring/requiring/my code to be tested and I also need to use sinon to mock something how can I include sinonjs in my testing?

I mean I know the testrunner has some thing like:

{
    code: "path/to/mycode",
}

but how can I get access to my vars, objects and dear sinon.

php-max avatar Mar 03 '14 11:03 php-max

There is a deps option for this. See api documentation or shell script help.

kof avatar Mar 03 '14 11:03 kof

I'm also having trouble figuring out how to use my objects and vars in my tests.

If I have a runner set up like this:

{
  code: 'lib/cli.js',
  tests: 'tests/unit/test-cli.js'
}

In cli.js I have: module.exports = CLI;. If I try running ok(CLI) in a test in test-cli.js, I get the error: CLI is undefined.

What is the solution? I added my code to deps as well, but that didn't solve the problem.

nikolas avatar Nov 08 '14 23:11 nikolas

exports are merged with global when namespace is not defined. So by default you can access CLI.bla from global.bla or just bla. If you add namespace (see documentation) you will get CLI attached to global using this namespace, f.e. namespace: 'CLI' .... global.CLI === CLI

Its designed to work similar to the browser.

Please submit a pull request for the documentation if I could help you.

kof avatar Nov 09 '14 12:11 kof

I was able to fix this by adding a namespace parameter to my testrunner. Thanks.

nikolas avatar Nov 09 '14 14:11 nikolas

Can you please change the readme file so that you would not stumble over this issue a second time?

kof avatar Nov 09 '14 14:11 kof