我在 Yii2 中使用 codeception 测试我的代码时遇到了一些麻烦,我希望你们中的一个人可以帮助我。
- 首先,我的身份验证无法按预期工作。在我的类页面URL中,用户未登录,但在我的模板文件中,用户已登录。每当无法使用Codeception访问该页面时,它就可以正常工作。
检查用户是否已登录的代码:var_dump(Yii::$app->getUser()->getIsGuest());
网址管理器的配置:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
[
'class' => 'commonroutesPagesUrl',
'pattern' => '',
'route' => 'site/index',
],
//Some additional rules
],
]
- 其次,我似乎无法生成XML报告。
测试输出命令:codecept run functional LoginFormCest --xml -vvv
给出以下输出:
Codeception PHP Testing Framework v2.1.0
Powered by PHPUnit 4.8.35-1-g912b8c1e9 by Sebastian Bergmann and contributors.
Functional Tests (5) ----------------------------------------------------------------------------------------------------------------------------------------------------------
Modules: Filesystem, Yii2
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Printing JUNIT report into report.xml
[PHPUnit_Framework_Exception]
Undefined index: log_incomplete_skipped
Exception trace:
() at C:xampphtdocsstoneart-v2vendorcodeceptionbasesrcCodeceptionSubscriberErrorHandler.php:75
CodeceptionSubscriberErrorHandler->errorHandler() at C:xampphtdocsstoneart-v2vendorcodeceptionbasesrcCodeceptionPHPUnitRunner.php:145
CodeceptionPHPUnitRunner->applyReporters() at C:xampphtdocsstoneart-v2vendorcodeceptionbasesrcCodeceptionPHPUnitRunner.php:91
CodeceptionPHPUnitRunner->doEnhancedRun() at C:xampphtdocsstoneart-v2vendorcodeceptionbasesrcCodeceptionSuiteManager.php:157
CodeceptionSuiteManager->run() at C:Usersj-rubAppDataRoamingComposervendorcodeceptioncodeceptionsrcCodeceptionCodecept.php:200
CodeceptionCodecept->runSuite() at C:Usersj-rubAppDataRoamingComposervendorcodeceptioncodeceptionsrcCodeceptionCodecept.php:172
CodeceptionCodecept->run() at C:Usersj-rubAppDataRoamingComposervendorcodeceptioncodeceptionsrcCodeceptionCommandRun.php:184
CodeceptionCommandRun->execute() at C:Usersj-rubAppDataRoamingComposervendorsymfonyconsoleCommandCommand.php:264
SymfonyComponentConsoleCommandCommand->run() at C:Usersj-rubAppDataRoamingComposervendorsymfonyconsoleApplication.php:846
SymfonyComponentConsoleApplication->doRunCommand() at C:Usersj-rubAppDataRoamingComposervendorsymfonyconsoleApplication.php:191
SymfonyComponentConsoleApplication->doRun() at C:Usersj-rubAppDataRoamingComposervendorsymfonyconsoleApplication.php:122
SymfonyComponentConsoleApplication->run() at C:Usersj-rubAppDataRoamingComposervendorcodeceptioncodeceptioncodecept:28
测试覆盖率命令:codecept run functional LoginFormCest --coverage-xml
给出以下输出:
FAILURES!
Tests: 5, Assertions: 3, Failures: 5.
[yiibaseErrorException]
Undefined index: quiet
Exception trace:
() at C:xampphtdocsstoneart-v2vendorcodeceptionbasesrcCodeceptionCoverageSubscriberPrinter.php:61
::call_user_func:{C:xampphtdocsstoneart-v2vendorsymfonyevent-dispatcherEventDispatcher.php:184}() at C:xampphtdocsstoneart-v2vendorsymfonyevent-dispatcherEventDispatcher.php:184
SymfonyComponentEventDispatcherEventDispatcher->doDispatch() at C:xampphtdocsstoneart-v2vendorsymfonyevent-dispatcherEventDispatcher.php:46
SymfonyComponentEventDispatcherEventDispatcher->dispatch() at C:Usersj-rubAppDataRoamingComposervendorcodeceptioncodeceptionsrcCodeceptionCodecept.php:218
CodeceptionCodecept->printResult() at C:Usersj-rubAppDataRoamingComposervendorcodeceptioncodeceptionsrcCodeceptionCommandRun.php:204
CodeceptionCommandRun->execute() at C:Usersj-rubAppDataRoamingComposervendorsymfonyconsoleCommandCommand.php:264
SymfonyComponentConsoleCommandCommand->run() at C:Usersj-rubAppDataRoamingComposervendorsymfonyconsoleApplication.php:846
SymfonyComponentConsoleApplication->doRunCommand() at C:Usersj-rubAppDataRoamingComposervendorsymfonyconsoleApplication.php:191
SymfonyComponentConsoleApplication->doRun() at C:Usersj-rubAppDataRoamingComposervendorsymfonyconsoleApplication.php:122
SymfonyComponentConsoleApplication->run() at C:Usersj-rubAppDataRoamingComposervendorcodeceptioncodeceptioncodecept:28
Codeception.yml
actor: Tester
paths:
tests: tests
log: tests/_output
data: tests/_data
helpers: tests/_support
settings:
bootstrap: _bootstrap.php
memory_limit: 1024M
colors: false
modules:
config:
Yii2:
configFile: 'tests/config/test.php'
cleanup: false
coverage:
enabled: true
whitelist:
include:
- common/modules/news/*
更新到最新版本为我完成了工作。尽管似乎有一个错误显示正确版本的代码感知。我建议检查一下你的作曲家.json。谢谢。