当前位置:  开发笔记 > 编程语言 > 正文

使用Behat在PHP中找不到类'Behat\Behat\Context\BehatContext'

如何解决《使用Behat在PHP中找不到类'Behat\Behat\Context\BehatContext'》经验,为你挑选了2个好方法。

我正在尝试使用网站上的教程学习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中的上下文



所以用这个例子:-)

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有