我已经在一个新的 Silverstripe 项目中添加了一些测试,它们驻留在其中app/tests/
(app
这是我重命名的mysite
,在它的变量_config.php
中也有这个)。$project
我有两个文件:
APHPUnitTest.php
class APHPUnitTest extends SapphireTest {
static $fixture_file = 'APHPUnitTest.yml';
public function testURLGeneration() {
$expectedURLs = array(
'home' => 'home',
'about' => 'about-us'
);
foreach($expectedURLs as $fixture => $urlSegment) {
$obj = $this->objFromFixture('Page', $fixture);
$this->assertEquals($urlSegment, $obj->URLSegment);
}
}
}
APHPUnitTest.yml
Page:
home:
Title: Home
about:
Title: About Us
测试出现在 上/dev/tests
,但是当我运行它时,我只看到标题:
APHPUnitTest
dev → tests → APHPUnitTest
没有结果...我可以添加die;
到我的测试中.php
,这些会阻止页面加载,所以文件执行得很好,我不确定为什么这不起作用。
当我尝试从命令行运行测试时,出现错误class SapphireTest not found
。从命令行运行的非银条 PHPUnit 测试工作正常。