Перейти к содержимому

Фотография

Как задать порядок выполнения тестов в mocha (nodeJS)

mocha nodeJS

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 barsa

barsa

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • Город:Новосибирск


Отправлено 20 августа 2015 - 05:21

Всем доброго дня!

 

Дано:

- ряд автотестов написанных на nodeJS, с использованием фреймворка mocha.

- тесты написаны таким образом, что одно api - один отдельный файл

- тесты зависимы друг от друга, т.е. необходимо выполнять их в строгой очередности

- один тест (соответственно, одно api) может использоваться в нескольких сьютах

 

Проблема:

- хочется запускать все сьюты одной командой. Для этого надо эти самые сьюты сформировать, т.е. задать порядок выполнения тестов. Или зависимости (как это можно сделать, например, в testNG). 

 

КАК?! Уже весь гугл исходила вдоль и поперек.

Кто-нибудь решал подобные проблемы?

 


  • 0

#2 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 20 августа 2015 - 09:26

в TestNG можно 2мя способами

1. жесткая зависимостсь 

@Test
public void serverStartedOk() {}
 
@Test(dependsOnMethods = { "serverStartedOk" })
public void method1() {}

В таком случае если один упадет тест, то все зависимые тестовые методы не выполнятся

2. через priority

@Test(priority=1)
public void method1() {
		
}
 	
@Test(priority=2)
public void method2() {
		
}

В таком случаем выполнится тест с приоритетом 1, затем 2 и тд.

 

В вообще есть документация по TestNG

 

Так же есть видео от Алексея Баранцева по этой теме, правда тоже для TestNG


  • 0

#3 barsa

barsa

    Новый участник

  • Members
  • Pip
  • 14 сообщений
  • Город:Новосибирск


Отправлено 20 августа 2015 - 09:29

в TestNG можно 2мя способами

1. жесткая зависимостсь 

@Test
public void serverStartedOk() {}
 
@Test(dependsOnMethods = { "serverStartedOk" })
public void method1() {}

В таком случае если один упадет тест, то все зависимые тестовые методы не выполнятся

2. через priority

@Test(priority=1)
public void method1() {
		
}
 	
@Test(priority=2)
public void method2() {
		
}

В таком случаем выполнится тест с приоритетом 1, затем 2 и тд.

 

В вообще есть документация по TestNG

 

Так же есть видео от Алексея Баранцева по этой теме, правда тоже для TestNG

 

Спасибо, кэп.

Но во-первых nodeJS, а не Java.

Во-вторых может быть вы знаете, как впилить TestNG в mocha?


  • 0

#4 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 20 августа 2015 - 09:36

 (как это можно сделать, например, в testNG). 

 

Вы просили "например" - я ответил.

 

Как запилите в mocha TestNG - дайте знать


  • 0

#5 220v

220v

    Активный участник

  • Members
  • PipPip
  • 107 сообщений
  • ФИО:Олег


Отправлено 20 августа 2015 - 18:51

примерно так можно в сьюты организовать
package.json: 

 "scripts": {
    "test": "npm run test-node && npm run test-browser",
    "test-node": "mocha -R spec ./test/node/index.js",
    "test-browser": "mocha-phantomjs ./test/browser/index.html"
}

Это с поисковика был пример.
Может и поможет:
1. Пронумеровать/переименовать фаилы в алфавитном порядке.
2. В конфиге mocha должны быть параметры по запуску...что-то можно объединить/исключить из запуска
3. Использование before/Each/after/Each
4. https://realguess.ne...order-in-mocha/

describe('Suite', function () {
  it('Foo', function () {
  });
  it('Bar', function () {
  });
});

5. http://mochajs.org/#getting-started

 -g, --grep <pattern>                    only run tests matching <pattern>
 -f, --fgrep <string>                    only run tests containing <string>

По последней ссылки много параметров.


У нас используется protractor + jasmine.


  • 0

#6 atimofeeva

atimofeeva

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Тимофеева Анна


Отправлено 21 августа 2015 - 00:39

примерно так можно в сьюты организовать
package.json: 

 "scripts": {
    "test": "npm run test-node && npm run test-browser",
    "test-node": "mocha -R spec ./test/node/index.js",
    "test-browser": "mocha-phantomjs ./test/browser/index.html"
}

Это с поисковика был пример.
Может и поможет:
1. Пронумеровать/переименовать фаилы в алфавитном порядке.
2. В конфиге mocha должны быть параметры по запуску...что-то можно объединить/исключить из запуска
3. Использование before/Each/after/Each
4. https://realguess.ne...order-in-mocha/

describe('Suite', function () {
  it('Foo', function () {
  });
  it('Bar', function () {
  });
});

5. http://mochajs.org/#getting-started

 -g, --grep <pattern>                    only run tests matching <pattern>
 -f, --fgrep <string>                    only run tests containing <string>

По последней ссылки много параметров.


У нас используется protractor + jasmine.

иь


  • 0



Темы с аналогичным тегами mocha, nodeJS

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных