Codeception中的$ scenario变量是什么?

时间:2017-11-14 10:16:47

标签: php codeception acceptance-testing

我正在学习使用Codeception。在Writing a Sample Scenario文档中,人们提到$scenario变量。

假设我实现了一个MyAcceptanceTester类,这是一种可用于控制我的Actor行为的参数变量吗?或者这是Codeception范例中的保留变量?如果是这样,它是如何工作的?

我的测试需求如下:我需要在多个域名上运行相同的操作序列。这是一种每种语言使用一个域名的情况,但所有代码都在相同的代码库中,并由同一个Apache服务器提供。每个域可能都有自己的PHP代码,但也与其他域共享公共代码。因此,Codeception测试代码将位于唯一的代码库中。

我在考虑通过MyAcceptanceTester变量将每个网址/ URI传递到$scenario进行测试。这是正确的方法吗?或者我应该为每个域创建MyAcceptanceTester子类,因为$scenario是保留的吗?

1 个答案:

答案 0 :(得分:1)

$scenario文件中的*Cept.php变量实际上是指定用于构造AcceptanceTester类的变量。要检查其工作方式,您可以在AcceptanceTester中打开test/_support/AcceptanceTester.php类文件。如果您看到AcceptanceTester类已从Codeception\Actor类扩展而来。请按照此source阅读$scenario使用Actor变量的方式。

关于你的案子。

  

我需要在多个域名上运行相同的操作序列。

您可以实施名为StepObjectdocumentation)的技术。因此,每个网站的测试将从您最近创建的StepObjet延伸。

希望它有所帮助。