qunitjs / node-qunit

QUnit runner for Node.js.
MIT License
172 stars 53 forks source link

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

Open php-max opened 10 years ago

php-max commented 10 years ago

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.

kof commented 10 years ago

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

nikolas commented 10 years ago

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.

kof commented 10 years ago

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.

nikolas commented 10 years ago

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

kof commented 10 years ago

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