caolan / caolan/nodeunit

Incomplete tests/setups/teardowns with RequireJS

Abierto
#206 11 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
1.9k
Forks
359
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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!

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Empieza reproduciendo el test.js proporcionado con vanilla nodeunit y la configuración de grunt-contrib-nodeunit. Sigue cómo nodeunit descubre el test y gestiona test.done() mientras el callback de RequireJS carga dist/test-hts. Se considera terminado cuando el ejemplo se completa sin un error por un test no finalizado y registra la aserción esperada.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript
Área
testing-qa
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.