【发布时间】:2014-05-18 14:58:18
【问题描述】:
我开始使用 Node.js 并正在寻找一个测试框架。
我找到了:
- 摩卡
- 硒
我知道使用 Mocha 可以用 JS 编写测试,而使用 Selenium 则必须使用 C# 等较低级别的语言编写测试。
除此之外,还有什么 Selenium 可以做而 Mocha 不能做的事情吗?
摩卡本身有什么用?
【问题讨论】:
标签: node.js testing selenium mocha.js
我开始使用 Node.js 并正在寻找一个测试框架。
我找到了:
我知道使用 Mocha 可以用 JS 编写测试,而使用 Selenium 则必须使用 C# 等较低级别的语言编写测试。
除此之外,还有什么 Selenium 可以做而 Mocha 不能做的事情吗?
摩卡本身有什么用?
【问题讨论】:
标签: node.js testing selenium mocha.js
Mocha 和 Selenium 都处理测试软件,但它们解决的问题不同。
Mocha 是测试运行框架。您告诉 Mocha 您有哪些测试以及您想要运行哪些测试,mocha 将运行您的测试并报告通过的测试和失败的测试。 Mocha 本身提供了一个测试运行框架。你通常会想要使用一个断言库,比如Chai。我有测试套件,其中唯一提供测试支持的库是 Mocha 和 Chai。这是一个完全可行的用例。
Selenium 是一个用于控制浏览器的库。其主要范围是测试基于浏览器的软件。但是,它也可以用于抓取网站。这是 Selenium 可以做到而 Mocha 本身无法做到的事情。相反,Selenium 不是一个测试运行框架。 Selenium 没有专门用于划分测试和仅运行特定测试的设施。您必须依靠像 Mocha 这样的测试运行框架来分隔一个测试与另一个测试。
如果您想编写一个测试基于浏览器的应用程序的测试套件,您可以将 Mocha 与 Selenium 一起使用。或者带有 Selenium 的 Jasmine(另一个测试运行框架)。或者您可以将 Behave(基于 Python 的测试运行程序)与 Selenium 一起使用。或者您可以将 Mocha 与其他一些控制浏览器的库一起使用。
这个具体问题需要特殊处理:
我知道使用 Mocha 可以用 JS 编写测试,而使用 Selenium 则必须使用 C# 等较低级别的语言编写测试。
我不会将 C# 称为低级语言。无论如何,使用 Mocha 必须使用 JavaScript。 (有一个用于 Ruby 的测试库,也称为“Mocha”,但它不是 JavaScript 的 Ruby 版本。我假设您在谈论 JavaScript 版本,这使我的回答成为重言式,但我们在这里。)你可以将 Selenium 与 JavaScript、Python、C#、Java 和许多其他语言一起使用。
【讨论】:
node test<i>.js)。