Nocha mocha / chai test, чтобы проверить, существует ли папка - PullRequest
1 голос
/ 14 апреля 2020

Я пытаюсь проверить создание папки с указанным c путем. Я могу правильно проверить, существует ли папка перед ее созданием, но когда я запускаю ту же проверку после ее создания, она возвращает неопределенное значение.

var expect = require('chai').expect;
var assert = require('chai').assert;

var fs = require('fs');
var dir = './tmp';

describe('Create a folder and check if it\'s been created', function(){

    it('check if folder has been created, if no folder exists, then create one: ', function(done){

    if (!fs.existsSync(dir)){
        fs.mkdirSync(dir);
    }
    done();
    });

    it('check to see if folder is there', function() {
        if (fs.existsSync(dir)){
            assert.isOk();
        }else{
            assert.fail();
        }
    done();
    });
});

результат:

1 передача (23 мс) 1 ошибка

1) Создайте папку и проверьте, была ли она создана, проверьте, есть ли папка: AssertionError: ожидается, что неопределенное значение будет истинным

1 Ответ

0 голосов
/ 14 апреля 2020

assert.isOk() не делает то, что вы думаете. Это не всегда мимолетное утверждение; вместо этого он проверяет аргумент, который вы передаете, чтобы убедиться, что он правдив. Поскольку вы ничего не передаете, значение равно undefined, следовательно, «ожидается, что неопределенное будет правдивым».

Вы можете просто отказаться от утверждения; тест пройдет, если нет ошибочных утверждений, поэтому нет необходимости в фиктивном всегда проходящем утверждении. Или вы можете передать результат existsSync в isOk:

it('check to see if folder is there', function() {
  assert.isOk(fs.existsSync(dir));
});
...