php中的behat、水貂和硒有什么区别


What is the difference between behat, mink and selenium in php

我是测试新手。我只知道PHPunit用于测试类中的各种函数,然后我知道selenium用于浏览器测试。

我知道我们可以写php来链接selenium web driver来做浏览器的无头测试。

我不知道behatmink是怎么进来的。这些是从硒中分离出来的吗?它们是硒的替代品。

我可以在没有beaht、mink的情况下只使用selenium和php的情况下进行aweb应用程序测试吗

PHPUnit和Behat是相似的,都是测试框架。它们允许你通过使用不同的方法来测试你的代码:

  • PHPUnit测试基于您编写的代码,用于检查类在所需的circunstances下的行为。很多人使用这种类型的框架来练习TDD,但您当然可以在代码之后编写测试,也可以为很久以前编写的代码编写测试。

  • Behat测试是以人类可读的方式编写的,它们应该允许参与项目的每个人都能阅读它们。这种类型的测试称为BDD。你可以写一些测试,用(几乎)通俗易懂的英语解释你的系统应该如何运行。

IMO PHPUnit更通用,是大多数测试的首选编写方式。我使用Behat测试系统的一般行为,使用PHPUnit独立于其他类和方法对每个类和方法进行单元测试。

另一方面,Mink是一个库,允许您使用PHP进行程序浏览并访问内容。它可以用于以统一的方式控制许多浏览系统,如Selenium、Zombie等。每个浏览系统都基于不同的技术。

你可以在Behat之外使用Mink,但它们通常一起使用,因为这样你就可以编写测试来显示网站的行为:如果我在登录表单中输入我的凭据,然后按下提交按钮,我应该会看到我的个人资料页面。。。

是的,您可以将PHPUnit和Selenium一起使用,如文档中所述。。。