我正在学习使用Codeception。在Writing a Sample Scenario文档中,人们提到$scenario
变量。
假设我实现了一个MyAcceptanceTester
类,这是一种可用于控制我的Actor行为的参数变量吗?或者这是Codeception范例中的保留变量?如果是这样,它是如何工作的?
我的测试需求如下:我需要在多个域名上运行相同的操作序列。这是一种每种语言使用一个域名的情况,但所有代码都在相同的代码库中,并由同一个Apache服务器提供。每个域可能都有自己的PHP代码,但也与其他域共享公共代码。因此,Codeception测试代码将位于唯一的代码库中。
我在考虑通过MyAcceptanceTester
变量将每个网址/ URI传递到$scenario
进行测试。这是正确的方法吗?或者我应该为每个域创建MyAcceptanceTester
子类,因为$scenario
是保留的吗?
答案 0 :(得分:1)
$scenario
文件中的*Cept.php
变量实际上是指定用于构造AcceptanceTester
类的变量。要检查其工作方式,您可以在AcceptanceTester
中打开test/_support/AcceptanceTester.php
类文件。如果您看到AcceptanceTester
类已从Codeception\Actor
类扩展而来。请按照此source阅读$scenario
使用Actor
变量的方式。
关于你的案子。
我需要在多个域名上运行相同的操作序列。
您可以实施名为StepObject
(documentation)的技术。因此,每个网站的测试将从您最近创建的StepObjet
延伸。
希望它有所帮助。