【发布时间】:2013-09-10 18:08:48
【问题描述】:
我在一个新的 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 测试工作正常。
【问题讨论】:
标签: php phpunit silverstripe