qunitjs/node-qunit

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

Opened this issue · 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.

kof commented

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

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

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.

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

kof commented

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