diff --git a/README.md b/README.md index febeb20..1792fa7 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ Yatra (Yet Another Test Runner) – "еще один" исполнитель м - [ ] доделать стиль - [ ] выводить в summary не только ошибки, но информацию об общем ходе выполнения тестов - [x] beforeEach/afterEach (+done/async) -- [ ] поддержка Promise +- [x] поддержка Promise - [ ] возможность задавать порог, что тест медленно отрабатывает - [x] возможность быстрой отладки - [ ] возможность делать тесты производительности @@ -260,7 +260,7 @@ module.exports = { ```js module.exports = { name: 'Async test', - test: function(done){ + test: function(){ var foo = 1; // для примера, значение меняется через 50ms @@ -278,7 +278,7 @@ module.exports = { }; ``` -Можно использоваит `assert.async` совместно с `done`. При этом тест будет считаться выполенным, когда выполнены все функции заданные через `assert.async` и выполнена функция `done`. +Можно использовать `assert.async` совместно с `done`. При этом тест будет считаться выполенным, когда выполнены все функции заданные через `assert.async` и выполнена функция `done`. Если в ходе выполнения кода теста, возникает исключение, то выполенение теста прекращается, а еще не выполненные функции, выставленные через `assert.async`, вызваны не будут. @@ -296,6 +296,21 @@ module.exports = { }; ``` +Если функция теста возвращает `Promise` (значение с методом `then`), то тест будет считаться завершенным, когда разрешится `Promise`. Как будет разрешен `Promise` – `resolve` или `reject` – не влияет на результат теста. + +```js +module.exports = { + name: 'Await promise is resolved', + test: function(){ + return new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve(); + }, 10); + }) + } +}; +``` + ### Результат тестов Тест считается пройденым, если все утверждения верны и тест не превысил максимально допустимое время.