代码之家  ›  专栏  ›  技术社区  ›  palmic

symfony 1.4功能测试-使用sfTestFunctional::get()中的路由规则

  •  0
  • palmic  · 技术社区  · 15 年前

    不幸的是,我目前被迫在我的功能测试中使用具体的URI(在我的后端管理测试中使用get(“/articles/index”))。

    这显然不好,因为这样我就依赖于具体的项目URI设置,而这不是测试的重点, 是否可能在此get()方法中使用路由规则?

    1 回复  |  直到 15 年前
        1
  •  4
  •   Alex Grin    15 年前

    您可以生成所需路由的URI,然后将该URI传递给get()。要正确设置路由,请在测试开始时添加:

    $routing = sfContext::getInstance()->getRouting();
    $routingOptions = $routing->getOptions();
    $routingOptions['context']['prefix'] = '';
    $routing->initialize(sfContext::getInstance()->getEventDispatcher(), $routing->getCache(), $routingOptions);
    

    要生成所需的URI,请执行

    $uri = $routing->generate('route_name', array('param' => 'value'));
    $test->get($uri);