Ответ 1
Георгий прав, что вам нужен вызов it
, чтобы указать тест, но вам не нужно иметь верхний уровень describe
в вашем файле, если вы этого не хотите. Вы можете заменить одиночный describe
на кучу вызовов it
:
it("first", function () {
// Whatever test.
});
it("second", function () {
// Whatever other test.
});
Это очень хорошо работает, если ваш тестовый пакет небольшой и состоит только из одного файла.
Если ваш тестовый набор больше или распространен среди нескольких файлов, я бы очень сильно предложил разместить ваши beforeEach
и afterEach
вместе с вашим it
внутри describe
, если только вы абсолютно уверены, что для каждого теста в наборе требуется работа, выполняемая beforeEach
или afterEach
. (Я написал несколько тестовых наборов с Mocha, и у меня никогда не было beforeEach
или afterEach
, которое мне нужно было запускать для каждого отдельного теста.) Что-то вроде:
describe('WebSocket test', function() {
beforeEach(function(done) {
// ...
});
afterEach(function(done) {
// ...
});
it('response should be null', function() {
assert.equal(response.result, null, 'Successful Authentification');
});
});
Если вы не разместите beforeEach
и afterEach
внутри describe
, как это, скажем, у вас есть один файл для проверки веб-сокетов и другого файла для проверки некоторых операций с базой данных. Тесты в файле, который содержит тесты на работу с базой данных, также будут иметь ваши beforeEach
и afterEach
, выполненные до и после них. Размещение beforeEach
и afterEach
внутри describe
, как показано выше, гарантирует, что они будут выполняться только для ваших тестов веб-сокетов.