所以有一个像这样的函数:
function mymod_init()
{
$ip = '123.123.123.123';
$newPath = mymod_redirect_calculate($ip);
if (!empty($newPath)) drupal_goto($newPath);
}
这完全打破了单元测试。我对“mymod_redirect_calculate”进行了测试,但是如果我将上面的内容添加到我的init函数中,则测试无法运行。
从我收集的内容中,“exit”和“drupal_goto”打破了单元测试。
我该如何解决这个问题?
答案 0 :(得分:0)
实际上drupal_goto()
最终会调用exit()
。使用header()
应该有效:
function mymod_init() {
$ip = '123.123.123.123';
$newPath = mymod_redirect_calculate($ip);
if (!empty($newPath)) {
$url = url($newPath, array('absolute' => TRUE));
header('Location: ' . $url, TRUE);
}
}