Incomplete tests/setups/teardowns with RequireJS
- Dominant language
- JavaScript
- Stars
- 1.9k
- Forks
- 359
- PR merge metrics
- No merged PRs in 30d
Description
Here is my test (using grunt-contrib-nodeunit):
```
var requirejs = require('requirejs');
exports.test = function(test){
test.expect(1);
requirejs(['dist/test-hts'],function(obj){
test.ok(true, 'hello');
test.done();
});
};
```
For some reason, this doesn't work! It appears as though RequireJS doesn't play nice with node unit. I've been trying to get testing working for the better part of 3 days with no luck so far, even on the most simple of tests like above!
This happens when I run with vanilla nodeunit from the command line:
```
test.js
FAILURES: Undone tests (or their setups/teardowns):
- test
To fix this, make sure all tests call test.done()
```
If I move the `.done()` to the outside of the callback, it just skips the test all together and says that it expected 1 assertion but found none.
I have also tried it this way:
```
var requirejs = require('requirejs');
requirejs.config({
nodeRequire: require,
baseUrl: __dirname
});
requirejs(['../dist/test-hts'],function(obj){
console.log('loaded...');
exports.test = function(test){
test.expect(1);
test.ok(true, 'hello');
test.done();
};
});
```
It results in:
```
OK: 0 assertions (41ms)
```
Also, if I run this same file using node rather than nodeunit (just to check execution), I get the following output:
```
loaded...
```
So I know that the module is loading properly, just not with nodeunit!
Any help here would be great. I don't understand why nodeunit wouldn't work with such a well-known AMD tool like RequireJS. Thanks!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the supplied test.js with vanilla nodeunit and the grunt-contrib-nodeunit setup. Trace how nodeunit discovers the test and handles test.done() while the RequireJS callback loads dist/test-hts. Done means the example completes without an undone-test failure and records the expected assertion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100