mocha和Selenium有什么区别?

时间:2014-04-06 12:48:49

标签: node.js testing selenium mocha

我开始使用Node.js并且正在寻找测试框架。

我找到了:

  • 摩卡

据我所知,使用Mocha可以在JS中编写测试,而使用Selenium时,必须使用C#等低级语言编写测试。

除此之外,Selenium可以做些什么,Mocha可以做什么?

摩卡有什么用途?

1 个答案:

答案 0 :(得分:28)

Mocha和Selenium都处理测试软件,但它们解决了不同的问题。

Mocha是测试运行框架。你告诉Mocha你有什么测试以及你想要运行什么测试,mocha将运行你的测试并报告那些通过的和那些失败的测试。 Mocha本身提供了一个测试运行框架。您通常希望使用断言库,如Chai。我有测试套件,唯一提供测试支持的库是Mocha和Chai。这是一个非常可行的用例。

Selenium是一个用于控制浏览器的库。其范围的一个主要部分是测试基于浏览器的软件。但是,它也可以用于抓取网站。这是Selenium可以做的事情,Mocha本身无法做到。相反,Selenium不是运行测试的框架。 Selenium没有专门用于分隔测试和仅运行特定测试的工具。你必须依靠像Mocha这样的测试运行框架来区分一个测试。

如果您想编写一个测试基于浏览器的应用程序的测试套件,您可以将Mocha与Selenium一起使用。或者使用Selenium的Jasmine(另一个测试运行框架)。或者你可以和Selenium一起使用Behave(基于Python的测试运行器)。或者您可以将Mocha与其他一些控制浏览器的库一起使用。

这个具体问题需要特殊处理:

  

据我所知,使用Mocha可以在JS中编写测试,而使用Selenium时,必须使用C#等低级语言编写测试。

我不会将C#称为低级语言。无论如何,使用Mocha你必须使用JavaScript。 (还有一个用于Ruby的测试库也命名为" Mocha"但它不是JavaScript版本的Ruby版本。我假设您正在谈论JavaScript版本,这使得我的回复一个重言式,但我们在这里。)你可以使用Selenium与JavaScript,Python,C#,Java和一堆其他语言。