Ответ 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 и связью других языков.