函数外的变量中不允许有表达式
Expression is not allowed in a variable outside of a function
我想link将目录添加到 $screenshotPath 字符串,但是 PHPStorm 中出现错误:表达式不允许作为字段默认值。我该如何解决?代码:
use PHPUnit\Extensions\SeleniumTestCase;
use ApplicationTest\Bootstrap;
class AdminLoginLogoutTest extends PHPUnit_Extensions_SeleniumTestCase {
protected $captureScreenshotOnFailure = true;
//$screenshotPath is giving me this error...
protected $screenshotPath = __DIR__ . "/FailedTestsScreenshots";
protected $screenshotUrl = "http://icho/screenshots";
protected $path = "http://icho";
protected function SetUp() {
$this->setBrowser( "*firefox" );
$this->SetBrowserUrl( $this->path );
}
public function testAdminLoginLogout() {
$this->open( "/admin" );
$this->type( "name=username", "test" );
$this->type( "name=password", "test" );
$this->click( "id=submitbutton" );
$this->waitForPageToLoad( "30000" );
$this->assertEquals( "Dashboard", $this->getText( "link=Dashboard" ) );
$this->assertEquals( "Haios", $this->getText( "link=Haios" ) );
$this->assertEquals( "POs", $this->getText( "link=POs" ) );
$this->assertEquals( "Staco's", $this->getText( "link=Staco's" ) );
$this->assertEquals( "Mail templates", $this->getText( "link=Mail templates" ) );
$this->assertEquals( "Mailings", $this->getText( "link=Mailings" ) );
$this->assertEquals( "Sytem texts", $this->getText( "link=System texts" ) );
$this->assertEquals( "Advanced admin", $this->getText( "link=Advanced admin" ) );
$this->click( "css=a[title='Sign Out']" );
$this->click( "id=bot2-Msg1" );
$this->waitForPageToLoad( "30000" );
$this->assertEquals( "Login is vereist", $this->getText( "css=h2" ) );
}
}
将其移至构造函数(或任何其他函数)中 - 您似乎没有 class 的任何构造函数,但无论如何都会调用 __construct
:
protected $screenshotPath = '';
public function __construct() {
$this->$screenshotPath = __DIR__ . "/FailedTestsScreenshots";
}
或进入SetUp()
:
protected function SetUp() {
$this->$screenshotPath = __DIR__ . "/FailedTestsScreenshots";
$this->setBrowser( "*firefox" );
$this->SetBrowserUrl( $this->path );
}
我想link将目录添加到 $screenshotPath 字符串,但是 PHPStorm 中出现错误:表达式不允许作为字段默认值。我该如何解决?代码:
use PHPUnit\Extensions\SeleniumTestCase;
use ApplicationTest\Bootstrap;
class AdminLoginLogoutTest extends PHPUnit_Extensions_SeleniumTestCase {
protected $captureScreenshotOnFailure = true;
//$screenshotPath is giving me this error...
protected $screenshotPath = __DIR__ . "/FailedTestsScreenshots";
protected $screenshotUrl = "http://icho/screenshots";
protected $path = "http://icho";
protected function SetUp() {
$this->setBrowser( "*firefox" );
$this->SetBrowserUrl( $this->path );
}
public function testAdminLoginLogout() {
$this->open( "/admin" );
$this->type( "name=username", "test" );
$this->type( "name=password", "test" );
$this->click( "id=submitbutton" );
$this->waitForPageToLoad( "30000" );
$this->assertEquals( "Dashboard", $this->getText( "link=Dashboard" ) );
$this->assertEquals( "Haios", $this->getText( "link=Haios" ) );
$this->assertEquals( "POs", $this->getText( "link=POs" ) );
$this->assertEquals( "Staco's", $this->getText( "link=Staco's" ) );
$this->assertEquals( "Mail templates", $this->getText( "link=Mail templates" ) );
$this->assertEquals( "Mailings", $this->getText( "link=Mailings" ) );
$this->assertEquals( "Sytem texts", $this->getText( "link=System texts" ) );
$this->assertEquals( "Advanced admin", $this->getText( "link=Advanced admin" ) );
$this->click( "css=a[title='Sign Out']" );
$this->click( "id=bot2-Msg1" );
$this->waitForPageToLoad( "30000" );
$this->assertEquals( "Login is vereist", $this->getText( "css=h2" ) );
}
}
将其移至构造函数(或任何其他函数)中 - 您似乎没有 class 的任何构造函数,但无论如何都会调用 __construct
:
protected $screenshotPath = '';
public function __construct() {
$this->$screenshotPath = __DIR__ . "/FailedTestsScreenshots";
}
或进入SetUp()
:
protected function SetUp() {
$this->$screenshotPath = __DIR__ . "/FailedTestsScreenshots";
$this->setBrowser( "*firefox" );
$this->SetBrowserUrl( $this->path );
}