Vorrei un aiuto per determinare perché il mio test dell'unità in un'app sails.js non funziona come previsto.Bluebird Promise che ognuno in test moka/chai non funziona
Sto utilizzando la libreria di promemoria mocha, chai e bluebird su un'app sails.js.
Quello che voglio ottenere:
- creare un test per il metodo TagsService.create (nome), che accetta un nome parametro.
- prova che questo metodo non creerà un nuovo record di tag in base a nomi non validi I Pass
- Il parametro name è obbligatorio e deve essere inferiore a 121 caratteri
Quello che ho attualmente:
// Test the 'create' method
describe('Method \'create\' test result: \n', function() {
// Test that name is required and less than 121 chars long
it('Must receive the name parameter and be less than 121 chars long', function(done) {
\t \t
// It should not accept any of the following names
var names = ['',' ','thisstringislongerthanthemaxof121characterslongthisstringislongerthanthemaxof121characterslongthisstringislongerthanthema',[],[{}],[{test: 'test'}],'wrongchars*[]$£%fsf','$%@~}[','£$%jkdfi',' $%"£asdwdFDE','hD8U £$&{DS ds'];
sails.bluebird.each(names,function(name){
TagsService.create(name).then(function(data){
assert.propertyVal(data,'status','err','An error was NOT returned - even though names provided should be invalid');
});
}).then(function(){
done();
});
\t \t
});
});
quello che succede è sembra passare, anche se passo un nome valido o restituisco null dal metodo.
Vedi anche https://github.com/domenic/chai-as-promised –