我正在尝试使用网站上的教程学习Behat .
第一步就行,没有错误出现.
但是当我改变它时ls_project/features/bootstrap/FeatureContext.php
,如教程第二步所示,我收到以下错误:'Behat\Behat\Context\BehatContext' not found
.
应用更改的教程代码:
# features/bootstrap/FeatureContext.php完整的错误日志:
11:51:33 / ME : /var/www/test-driven/behat/ls_project $ behat # features/bootstrap/FeatureContext.php PHP Fatal error: Class 'Behat\Behat\Context\BehatContext' not found in /var/www/test-driven/behat/ls_project/features/bootstrap/FeatureContext.php on line 10 PHP Stack trace: PHP 1. {main}() /opt/Behat/bin/behat:0 PHP 2. Symfony\Component\Console\Application->run() /opt/Behat/bin/behat:31 PHP 3. Behat\Testwork\Cli\Application->doRun() /opt/Behat/vendor/symfony/console/Symfony/Component/Console/Application.php:121 PHP 4. Symfony\Component\Console\Application->doRun() /opt/Behat/src/Behat/Testwork/Cli/Application.php:90 PHP 5. Symfony\Component\Console\Application->doRunCommand() /opt/Behat/vendor/symfony/console/Symfony/Component/Console/Application.php:191 PHP 6. Symfony\Component\Console\Command\Command->run() /opt/Behat/vendor/symfony/console/Symfony/Component/Console/Application.php:892 PHP 7. Behat\Testwork\Cli\Command->execute() /opt/Behat/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:241 PHP 8. Behat\Testwork\Tester\Cli\ExerciseController->execute() /opt/Behat/src/Behat/Testwork/Cli/Command.php:63 PHP 9. Behat\Testwork\Tester\Cli\ExerciseController->testSpecifications() /opt/Behat/src/Behat/Testwork/Tester/Cli/ExerciseController.php:106 PHP 10. Behat\Testwork\EventDispatcher\Tester\EventDispatchingExercise->test() /opt/Behat/src/Behat/Testwork/Tester/Cli/ExerciseController.php:137 PHP 11. Behat\Testwork\Tester\Runtime\RuntimeExercise->test() /opt/Behat/src/Behat/Testwork/EventDispatcher/Tester/EventDispatchingExercise.php:65 PHP 12. Behat\Testwork\Environment\EnvironmentManager->buildEnvironment() /opt/Behat/src/Behat/Testwork/Tester/Runtime/RuntimeExercise.php:67 PHP 13. Behat\Behat\Context\Environment\Handler\ContextEnvironmentHandler->buildEnvironment() /opt/Behat/src/Behat/Testwork/Environment/EnvironmentManager.php:69 PHP 14. Behat\Behat\Context\Environment\UninitializedContextEnvironment->registerContextClass() /opt/Behat/src/Behat/Behat/Context/Environment/Handler/ContextEnvironmentHandler.php:75有人可以帮我解决这个问题吗?
1> Jakub Zalas..:您似乎已经安装了Behat v3,但您正在关注Behat 2文档.
Behat 3
Behat 3没有
Behat\Behat\Context\BehatContext
班级.它有一个Behat\Behat\Context\Context
界面:use Behat\Behat\Context\Context; class FeatureContext implements Context { // ... }
在
composer.json
:{ "require-dev": { "behat/behat": "~3.1" }, "config": { "bin-dir": "bin/" } }Behat 2
Behat 2使用
Behat\Behat\Context\BehatContext
基类:use Behat\Behat\Context\BehatContext; class FeatureContext extends BehatContext { // ... }
在
composer.json
:{ "require-dev": { "behat/behat": "~2.5" }, "config": { "bin-dir": "bin/" } }
2> 小智..:在behat 3中有不同的结构,所以你需要使用新的路径来behat/Behat/Context/Context中的上下文
所以用这个例子:-)