В чем разница между моккой и селеном?

Я начал использовать Node.js и искал рамки тестирования.

Я нашел:

  • Мокко
  • Селен

Я понимаю, что с Mocha можно было написать тесты в JS, а с Selenium, нужно писать тесты с более низкими языками, такими как С#.

Кроме того, есть что-то, что Селен может сделать, что Мокка не может?

Какое использование Мокки само по себе?

Ответ 1

Mocha и Selenium имеют дело с тестированием программного обеспечения, но они решают разные проблемы.

Mocha - это тестовая среда.. Вы говорите Mocha, какие у вас тесты и какие тесты вы хотите запустить, а mocha будет запускать ваши тесты и сообщать те, которые прошли, и те, которые не удались. Мокка сама по себе обеспечивает тестовую рабочую среду. Обычно вы захотите использовать с ним библиотеку утверждений, например Chai. У меня есть тестовые комплекты, в которых единственными библиотеками, обеспечивающими поддержку тестирования, являются Mocha вместе с Chai. Это очень эффективный вариант использования.

Selenium - это библиотека для управления браузерами. Большая часть его возможностей - это тестирование программного обеспечения на базе браузера. Однако он также может использоваться для очистки веб-сайтов. Это то, что Селен может сделать, что Мокка не может сделать сам по себе. Напротив, Selenium не является тестовой платформой. Selenium не имеет средств, предназначенных для разграничения тестов и выполнения только определенных тестов. Вы должны полагаться на тестовую рабочую среду, такую ​​как Mocha, чтобы разграничить один тест от другого.

Если вы хотите написать набор тестов, который тестирует приложение на основе браузера, вы можете использовать Mocha вместе с Selenium. Или Жасмин (еще одна тестовая рамка) с Selenium. Или вы можете использовать Behave (тестовый бегун на основе Python) вместе с Selenium. Или вы можете использовать Mocha вместе с другой библиотекой, которая управляет браузерами.

Этот конкретный вопрос нуждается в специальном лечении:

Я понимаю, что с Mocha можно было написать тесты в JS, а с Selenium, нужно писать тесты с более низкими языками, такими как С#.

Я бы не назвал С# языком более низкого уровня. Во всяком случае, используя Mocha, вам придется использовать JavaScript. (Там тестовая библиотека для Ruby также называется "Mocha", но которая не является версией Ruby для JavaScript. Я предполагаю, что вы говорите об одном JavaScript, что делает мой ответ тавтологическим, но мы здесь.) Вы можете используйте Selenium с JavaScript, Python, С#, Java и связью других языков.