Непредвиденная ошибка PHP [fclose() ожидает, что параметр 1 будет ресурсом, задано логическое значение] серьезность [2] в [simpletest/socket.php строка 255]

Я использую SimpleTest для базового тестирования моего проекта. Я хочу выполнить базовые проверки самих страниц, чтобы убедиться, что они продолжают работать по мере разработки. Однако я столкнулся с несколькими проблемами.

Сначала я попытался использовать класс WebTestCase, я получил 403 при попытке подключения к Google и ту же ошибку, что и ниже. Я переключился на использование обычного UnitTestCase и вспомогательного класса SimpleBrowser, предоставленного SimpleTest. Используя это, я могу без проблем подключиться к Google, но все равно получаю ту же ошибку при попытке зайти на свой сайт.

Непредвиденная ошибка PHP [fclose() ожидает, что параметр 1 будет ресурсом, задано логическое значение] серьезность [2] в [simpletest/socket.php строка 255]

class TestOfBasicFunctionality extends UnitTestCase
{
    function testGoogleBrowser()
    {
        $browser = &new SimpleBrowser();
        $browser->get('https://www.google.com');
        $this->assertEqual($browser->getTitle(), 'Google');
        $this->assertEqual($browser->getResponseCode(), 200);
    }

    function testIndexBrowser()
    {
        $browser = &new SimpleBrowser();
        $browser->get('https://subdomain.mywebsite.com/');
        $this->assertEqual($browser->getResponseCode(), 200);
    }
}

В итоге не понимаю, что не так. Если код сложный, я могу понять, что сделал что-то не так. Однако это очень простые тесты, и я не вижу ошибок. Моя единственная мысль заключается в том, что на сервере есть настройки, препятствующие установлению соединения.

Может кто-нибудь помочь мне? Это проблема SimpleTest, моя ошибка в коде или проблема с настройками сервера?


person J. Fortman    schedule 28.03.2017    source источник


Ответы (1)


После того, как вы попробовали это: fopen не работает на моем сервере

Вы можете попробовать приведенный ниже код, это решение не решит проблему, но вы можете сохранить свои тесты...

в строке simpletest/socket.php 255 попробуйте следующее:

function close() {
    $this->is_open = false;
    if(is_resource($this->handle)){
        return fclose($this->handle);
    }else{ return true; }
}

Затем можно запускать тесты.

person Ricardo CF    schedule 29.01.2018