CodeCept Acceptance тесты

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
ifelse
Сообщения: 227
Зарегистрирован: 2013.02.05, 13:05

CodeCept Acceptance тесты

Сообщение ifelse »

Пытаюсь разобраться с acceptance-тестами, не работают. Обычные юнит-тесты работают замечательно.

Код: Выделить всё

:\OpenServer\domains\domen>codecept run acceptance
Codeception PHP Testing Framework v2.0.8
Powered by PHPUnit 4.3.5 by Sebastian Bergmann.

Acceptance Tests (1) --------------------------------------------------------------------------------------------------
Trying to go to create fb group (createFbGroupRecordCept)                                                         Error
-----------------------------------------------------------------------------------------------------------------------


Time: 320 ms, Memory: 9.25Mb

There was 1 error:

---------
1) Failed to go to create fb group in createFbGroupRecordCept (D:\OpenServer\domains\domen\tests\acceptance\createFbGroupRecordCept.php)
Can't be on page "fb_import/fb-groups/create":
yii\base\ErrorException: Undefined index: SCRIPT_FILENAME

Scenario Steps:
1. I am on page "fb_import/fb-groups/create"


FAILURES!
Tests: 1, Assertions: 0, Errors: 1.
_bootstrap.php

Код: Выделить всё

<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'test');

defined('YII_TEST_ENTRY_URL') or define('YII_TEST_ENTRY_URL', '/index-test.php');
defined('YII_TEST_ENTRY_FILE') or define('YII_TEST_ENTRY_FILE', dirname(dirname(__DIR__)) . '/web/index-test.php');

require_once(__DIR__ . '/../vendor/autoload.php');
require_once(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');

$_SERVER['SCRIPT_FILENAME'] = YII_TEST_ENTRY_FILE;
$_SERVER['SCRIPT_NAME'] = YII_TEST_ENTRY_URL;
$_SERVER['SERVER_NAME'] = 'domen';

Yii::setAlias('@tests', dirname(__DIR__));
 
tests/acceptance.suite.yml

Код: Выделить всё

# Codeception Test Suite Configuration

# suite for acceptance tests.
# perform tests in browser using the WebDriver or PhpBrowser.
# If you need both WebDriver and PHPBrowser tests - create a separate suite.

class_name: AcceptanceTester
modules:
    enabled:
        - PhpBrowser
        - AcceptanceHelper
        - Yii2
    config:
        PhpBrowser:
            url: 'http://domen'
        Yii2:
            configFile: 'config/console.php'

tests/acceptance/createFbGroupRecordCept.php

Код: Выделить всё

<?php 
$I = new AcceptanceTester($scenario);
$I->wantTo('go to create fb group');
$I->amOnPage(['fb_import/fb-groups/create']);
$I->click('Create');
Аватара пользователя
ifelse
Сообщения: 227
Зарегистрирован: 2013.02.05, 13:05

Re: CodeCept Acceptance тесты

Сообщение ifelse »

Никто не встречался с этой проблемой?
Aibolit
Сообщения: 31
Зарегистрирован: 2012.12.18, 23:38

Re: CodeCept Acceptance тесты

Сообщение Aibolit »

Посмотрите, что скажет codecept c ключом -d и логи вебсервера. Может просто с роутом проблема.
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: CodeCept Acceptance тесты

Сообщение yiijeka »

yii\base\ErrorException: Undefined index: SCRIPT_FILENAME

Переустановите php :)
Аватара пользователя
ifelse
Сообщения: 227
Зарегистрирован: 2013.02.05, 13:05

Re: CodeCept Acceptance тесты

Сообщение ifelse »

Aibolit писал(а):Посмотрите, что скажет codecept c ключом -d и логи вебсервера. Может просто с роутом проблема.
Честно говоря не вижу ничего полезного...

Код: Выделить всё

D:\OpenServer\domains\domen>codecept run -d acceptance
Codeception PHP Testing Framework v2.0.8
Powered by PHPUnit 4.3.5 by Sebastian Bergmann.

Acceptance Tests (1) --------------------------------------------------------------------------------------------------
Modules: PhpBrowser, AcceptanceHelper, Yii2
-----------------------------------------------------------------------------------------------------------------------
Trying to go to create fb group (createFbGroupRecordCept)
Scenario:
* I am on page "fb_import/fb-groups/create"
 ERROR

-----------------------------------------------------------------------------------------------------------------------


Time: 324 ms, Memory: 9.25Mb

There was 1 error:

---------
1) Failed to go to create fb group in createFbGroupRecordCept (D:\OpenServer\domains\domen\tests\acceptance\createFbGroupRecordCept.php)
Can't be on page "fb_import/fb-groups/create":
yii\base\ErrorException: Undefined index: SCRIPT_FILENAME

Scenario Steps:
1. I am on page "fb_import/fb-groups/create"


  [PHPUnit_Framework_ExceptionWrapper] Undefined index: SCRIPT_FILENAME


FAILURES!
Tests: 1, Assertions: 0, Errors: 1.
yiijeka писал(а):yii\base\ErrorException: Undefined index: SCRIPT_FILENAME

Переустановите php :)
В остальном же всё работает абсолютно четко. И сайты открываются, и юнит-тесты работают. Проблемы только с этим видом теста.

Да, запускаю всё под OpenServer
Aibolit
Сообщения: 31
Зарегистрирован: 2012.12.18, 23:38

Re: CodeCept Acceptance тесты

Сообщение Aibolit »

runtime/logs/
Аватара пользователя
ifelse
Сообщения: 227
Зарегистрирован: 2013.02.05, 13:05

Re: CodeCept Acceptance тесты

Сообщение ifelse »

Aibolit писал(а):runtime/logs/
После запуска тестов ничего в логи не пишется
UPD:
врубил логгирование всего чего только можно:

Код: Выделить всё

2014-12-02 16:48:15 [][-][-][trace][yii\base\Application::bootstrap] Bootstrap with yii\log\Dispatcher
2014-12-02 16:48:15 [][-][-][trace][yii\base\Module::getModule] Loading module: gii
2014-12-02 16:48:15 [][-][-][trace][yii\base\Application::bootstrap] Bootstrap with yii\gii\Module::bootstrap()
2014-12-02 16:48:15 [][-][-][info][application] $_SERVER = [
    'ALLUSERSPROFILE' => 'C:\\ProgramData'
    'APPDATA' => 'C:\\Users\\Valentin\\AppData\\Roaming'
    'asl_log' => 'Destination=file'
    'BIN_TARGET' => 'D:\\OpenServer\\domains\\domen\\/vendor/codeception/codeception/codecept'
    'CommonProgramFiles' => 'C:\\Program Files (x86)\\Common Files'
    'CommonProgramFiles(x86)' => 'C:\\Program Files (x86)\\Common Files'
    'CommonProgramW6432' => 'C:\\Program Files\\Common Files'
    'COMPUTERNAME' => 'VALENTIN-PC'
    'ComSpec' => 'C:\\Windows\\system32\\cmd.exe'
    'ConEmuANSI' => 'ON'
    'ConEmuAnsiLog' => ''
    'ConEmuArgs' => '/Single'
    'ConEmuBackHWND' => '0x001A09A6'
    'ConEmuBaseDir' => 'D:\\OpenServer\\modules\\conemu\\ConEmu'
    'ConEmuBuild' => '140505'
    'ConEmuConfig' => ''
    'ConEmuDir' => 'D:\\OpenServer\\modules\\conemu'
    'ConEmuDrawHWND' => '0x00570C3E'
    'ConEmuDrive' => 'D:'
    'ConEmuHooks' => 'Enabled'
    'ConEmuHWND' => '0x005908A4'
    'ConEmuPID' => '5600'
    'ConEmuWorkDir' => 'D:\\OpenServer'
    'ConEmuWorkDrive' => 'D:'
    'FP_NO_HOST_CHECK' => 'NO'
    'HOMEDRIVE' => 'C:'
    'HOMEPATH' => '\\Users\\Valentin'
    'LOCALAPPDATA' => 'C:\\Users\\Valentin\\AppData\\Local'
    'LOGONSERVER' => '\\\\VALENTIN-PC'
    'NUMBER_OF_PROCESSORS' => '2'
    'OS' => 'Windows_NT'
    'Path' => 'D:\\OpenServer\\modules\\conemu\\ConEmu;D:\\OpenServer\\modules\\conemu;D:\\OpenServer\\modules\\php\\PHP-5.5\\ext;D:\\OpenServer\\modules\\php\\PHP-5.5\\pear;D:\\OpenServer\\modules\\php\\PHP-5.5\\pear\\bin;D:\\OpenServer\\modules\\imagemagick;D:\\OpenServer\\modules\\php\\PHP-5.5;D:\\OpenServer\\modules\\database\\MySQL-5.5\\bin;D:\\OpenServer\\modules\\http\\Apache-2.4\\bin;D:\\OpenServer\\modules\\http\\Apache-2.4;D:\\OpenServer\\modules\\wget\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\system32\\Wbem;C:\\Windows\\SysWOW64;d:\\cygwin\\bin\\;d:\\drush\\;c:\\Users\\Valentin\\AppData\\Roaming\\Composer\\vendor\\bin\\;C:\\Program Files\\nodejs;c:\\Users\\Valentin\\AppData\\Roaming\\npm\\'
    'PATHEXT' => '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
    'PHPBIN' => 'D:\\OpenServer\\modules\\php\\PHP-5.5\\php.exe'
    'PHPDIR' => 'D:\\OpenServer\\modules\\php\\PHP-5.5\\'
    'PHPRC' => 'D:\\OpenServer\\userdata\\temp\\config'
    'PHP_BIN' => 'D:\\OpenServer\\modules\\php\\PHP-5.5\\php.exe'
    'PHP_DIR' => 'D:\\OpenServer\\modules\\php\\PHP-5.5\\'
    'PHP_INI' => 'D:\\OpenServer\\userdata\\temp\\config\\php.ini'
    'PHP_PEAR_BIN_DIR' => 'D:\\OpenServer\\modules\\php\\PHP-5.5\\PEAR'
    'PHP_PEAR_DATA_DIR' => 'D:\\OpenServer\\modules\\php\\PHP-5.5\\PEAR\\data'
    'PHP_PEAR_DOC_DIR' => 'D:\\OpenServer\\modules\\php\\PHP-5.5\\PEAR\\docs'
    'PHP_PEAR_INSTALL_DIR' => 'D:\\OpenServer\\modules\\php\\PHP-5.5\\PEAR\\pear'
    'PHP_PEAR_PHP_BIN' => 'D:\\OpenServer\\modules\\php\\PHP-5.5\\php.exe'
    'PHP_PEAR_SYSCONF_DIR' => 'D:\\OpenServer\\modules\\php\\PHP-5.5\\PEAR'
    'PHP_PEAR_TEST_DIR' => 'D:\\OpenServer\\modules\\php\\PHP-5.5\\PEAR\\tests'
    'PROCESSOR_ARCHITECTURE' => 'x86'
    'PROCESSOR_ARCHITEW6432' => 'AMD64'
    'PROCESSOR_IDENTIFIER' => 'Intel64 Family 6 Model 23 Stepping 6, GenuineIntel'
    'PROCESSOR_LEVEL' => '6'
    'PROCESSOR_REVISION' => '1706'
    'ProgramData' => 'C:\\ProgramData'
    'ProgramFiles' => 'C:\\Program Files (x86)'
    'ProgramFiles(x86)' => 'C:\\Program Files (x86)'
    'ProgramW6432' => 'C:\\Program Files'
    'PROMPT' => '$P$G'
    'PSModulePath' => 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\'
    'PUBLIC' => 'C:\\Users\\Public'
    'SystemDrive' => 'C:'
    'SystemRoot' => 'C:\\Windows'
    'TEMP' => 'D:\\OpenServer\\userdata\\tmp'
    'TMP' => 'D:\\OpenServer\\userdata\\tmp'
    'USERDOMAIN' => 'Valentin-PC'
    'USERNAME' => 'Valentin'
    'USERPROFILE' => 'C:\\Users\\Valentin'
    'VBOX_MSI_INSTALL_PATH' => 'D:\\Program Files\\Oracle\\VirtualBox\\'
    'windir' => 'C:\\Windows'
    'windows_tracing_flags' => '3'
    'windows_tracing_logfile' => 'C:\\BVTBin\\Tests\\installpackage\\csilogfile.log'
    '__COMPAT_LAYER' => 'RunAsAdmin'
    'PHP_SELF' => 'D:\\OpenServer\\domains\\domen\\/vendor/codeception/codeception/codecept'
    'SCRIPT_NAME' => '/index-test.php'
    'SCRIPT_FILENAME' => 'D:\\OpenServer\\domains/web/index-test.php'
    'PATH_TRANSLATED' => 'D:\\OpenServer\\domains\\domen\\/vendor/codeception/codeception/codecept'
    'DOCUMENT_ROOT' => ''
    'REQUEST_TIME_FLOAT' => 1417524495.353
    'REQUEST_TIME' => 1417524495
    'argv' => [
        0 => 'D:\\OpenServer\\domains\\domen\\/vendor/codeception/codeception/codecept'
        1 => '-d'
        2 => 'run'
        3 => 'acceptance'
    ]
    'argc' => 4
    'SERVER_NAME' => 'domen'
]

Аватара пользователя
ifelse
Сообщения: 227
Зарегистрирован: 2013.02.05, 13:05

Re: CodeCept Acceptance тесты

Сообщение ifelse »

Код: Выделить всё

 'SCRIPT_FILENAME' => 'D:\\OpenServer\\domains/web/index-test.php'
Да, в логе был неверный путь, я пофиксил это, но проблема не решилась.
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: CodeCept Acceptance тесты

Сообщение yiijeka »

Ох уж этот OpenServer....
Аватара пользователя
denisOgr
Сообщения: 133
Зарегистрирован: 2012.02.02, 13:18
Контактная информация:

Re: CodeCept Acceptance тесты

Сообщение denisOgr »

А из коробки co codecept accept tests работают? Не yii2 extension
Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: CodeCept Acceptance тесты

Сообщение Insolita »

а у меня тоже такая же фигня была хоть и linux где-то еще по yii1 находила такие же ошибки... там если в сам тест вставить

$_SERVER['SCRIPT_FILENAME'] = YII_TEST_ENTRY_FILE; то проканывает , но ругается уже на отсутствие $_REQUEST['URI'] короче либо прямо в тесте их прописывать перед переходом, или создавать с траницы https://github.com/yiisoft/yii2/blob/ma ... inPage.php - как минимум с $route и загружать страницы $myPage = MyPage::openBy($I); тогда нормально работает

хотя нет вру, у меня такая фигня с функциональными, а acceptance нормально
Аватара пользователя
ifelse
Сообщения: 227
Зарегистрирован: 2013.02.05, 13:05

Re: CodeCept Acceptance тесты

Сообщение ifelse »

Сейчас перешел на Vagrant, но еще не успел попробовать написание тестов. На OpenServer забил в итоге
Ответить