Silverstripe Tests无法从夹具中找到页面

时间:2013-11-22 01:48:33

标签: testing silverstripe

我不了解如何进行功能测试。

我想通过运行简单的功能测试来开始:

class PageTest extends FunctionalTest{

  static $fixture_file = 'mysite/tests/PageTest.yml';

    public function testDirectorView() {
        $response1 = Director::test('/hello', null, null);               
        $this->assertTrue(
          strpos(
            $response1->getBody(), 
            '<h3>Hello World</h3>'
          ) !== false);        
    }  
}

使用以下装置

Page:
    hello:
        Title: HelloWorld

然而,我的测试失败,响应机构显示我正在获取404.

如何正确获取页面响应/设置夹具?

1 个答案:

答案 0 :(得分:3)

我会尝试以下

class PageTest extends FunctionalTest{

static $fixture_file = 'mysite/tests/PageTest.yml';

static $use_draft_site = true;

public function testDirectorView() {
    $page = $this->objFromFixture('Page','hello');
    $response1 = $this->get($page->RelativeLink());               
    $this->assertTrue(
      strpos(
        $response1->getBody(), 
        '<h3>Hello World</h3>'
      ) !== false);        
}  
}