Codeception 中的 $scenario 变量是什么?

What is the $scenario variable in Codeception?

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

假设我实现了一个 MyAcceptanceTester class,这是我可以用来控制 Actor 行为的某种参数变量吗?或者这是 Codeception 范式中的 reserved 变量?如果是这样,它是如何工作的?

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

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

*Cept.php 文件中的 $scenario 变量实际上是一个分配给构造 AcceptanceTester class 的变量。要检查它是如何工作的,您可以在 test/_support/AcceptanceTester.php 中打开 AcceptanceTester class 文件。如果您看到 AcceptanceTester class 是从 Codeception\Actor class 扩展而来的。按照此 source 阅读 Actor.

如何使用 $scenario 变量

关于你的情况。

I need to run the same sequence of actions on several domain names.

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

希望对您有所帮助。