所有Codeception gherkin .feature测试最终都会出现在Context文件中吗?

时间:2017-02-02 15:38:07

标签: php codeception gherkin

从Behat转移到Codeception并且仍然习惯了它的概念&事情进展顺利。

假设中,我的测试是由.feature文件100%驱动的,这是否意味着所有测试代码都可以在上下文中?在扩展PHPUnit_Framework_TestCase的任何功能测试中都没有任何东西? (假设我的所有功能测试都会扩展)

1 个答案:

答案 0 :(得分:0)

Gachkin并没有像Behat那样驱使Codeception。如果您要离开Behat,您将直接在Codeception中的类中编写函数,并且您不会从Gherkin脚本开始,然后派生可执行规范(在您的上下文文件,页面对象中)。

简要介绍两个流程

Behat

  1. 编写BDD脚本/ Gherkin - 功能。这些是完全抽象的,通常应该是系统实现的用例的逻辑描述。产品所有者可以在创建用户素材时开始编写此内容。不需要编程逻辑
  2. 对于要素中的每一行,实现处理该操作的可执行规范(Context类中的函数)
  3. 在Behat中,你通常也会使用Page对象(不确定这是否也可以在Codeception中完成,但我不明白为什么不能导入页面对象库)
  4. Codeception

    1. 您可以将可执行规范作为第一步编写,例如在Cept类中。这里需要开发人员,因为这是实际的PHP代码/类
    2. 当您运行codeception时,它会打印出已运行的所有语句的列表,就像报表一样。
    3. 以上是一个非常简化的描述,因为您的问题也非常通用。我希望它能回答你的问题