gorghoa / ScenarioStateBehatExtension

Provide a way to share scenario state through steps
MIT License
33 stars 7 forks source link

Doctrine/Common 2.7.3 incompatibility with last version #32

Closed webda2l closed 6 years ago

webda2l commented 7 years ago

Some new problems with package update:

"doctrine/common": "2.7.3"
"gorghoa/scenariostate-behat-extension": "1.0.4",

See:

  Scenario: As admin, I can list users        # features/User/user.feature:26
    Given I am authenticated as admin         # OAuthContext::iAmAuthenticatedAsUser()
    When I list users                         # UserContext::iListUsers()
    Then I should get a valid list of 9 users # UserContext::iShouldGetAValidListOfUsers()
      Behat\Testwork\Call\Exception\FatalThrowableError: Fatal error: Fatal error: [Semantical Error] The annotation "@transform" in method Behatch\Context\BaseContext::castToInt() was never imported. Did you maybe forget to add a "use" statement for this annotation? in vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php:54
      Stack trace:
      #0 vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php(727): Doctrine\Common\Annotations\AnnotationException::semanticalError('The annotation ...')
      #1 vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php(663): Doctrine\Common\Annotations\DocParser->Annotation()
      #2 vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php(354): Doctrine\Common\Annotations\DocParser->Annotations()
      #3 vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php(284): Doctrine\Common\Annotations\DocParser->parse('/**\n     * en\n ...', 'method Behatch\\...')
      #4 vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php(292): Doctrine\Common\Annotations\AnnotationReader->getMethodAnnotations(Object(ReflectionMethod))
      #5 vendor/gorghoa/scenariostate-behat-extension/src/Resolver/ArgumentsResolver.php(52): Doctrine\Common\Annotations\AnnotationReader->getMethodAnnotation(Object(ReflectionMethod), 'Gorghoa\\Scenari...')
      #6 vendor/gorghoa/scenariostate-behat-extension/src/Call/Handler/RuntimeCallHandler.php(75): Gorghoa\ScenarioStateBehatExtension\Resolver\ArgumentsResolver->resolve(Object(ReflectionMethod), Array)
      #7 vendor/behat/behat/src/Behat/Testwork/Call/CallCenter.php(140): Gorghoa\ScenarioStateBehatExtension\Call\Handler\RuntimeCallHandler->handleCall(Object(Behat\Behat\Transformation\Call\TransformationCall))
      #8 vendor/behat/behat/src/Behat/Testwork/Call/CallCenter.php(96): Behat\Testwork\Call\CallCenter->handleCall(Object(Behat\Behat\Transformation\Call\TransformationCall))
      #9 vendor/behat/behat/src/Behat/Behat/Transformation/Transformation/PatternTransformation.php(103): Behat\Testwork\Call\CallCenter->makeCall(Object(Behat\Behat\Transformation\Call\TransformationCall))
      #10 vendor/behat/behat/src/Behat/Behat/Transformation/Transformer/RepositoryArgumentTransformer.php(176): Behat\Behat\Transformation\Transformation\PatternTransformation->transformArgument(Object(Behat\Behat\Transformation\Transformer\RepositoryArgumentTransformer), Object(Behat\Testwork\Call\CallCenter), Object(Behat\Behat\Definition\Call\DefinitionCall), '9')
      #11 vendor/behat/behat/src/Behat/Behat/Transformation/Transformer/RepositoryArgumentTransformer.php(147): Behat\Behat\Transformation\Transformer\RepositoryArgumentTransformer->transform(Object(Behat\Behat\Definition\Call\DefinitionCall), Object(Behat\Behat\Transformation\Transformation\PatternTransformation), 'expectedNbUsers', '9')
      #12 vendor/behat/behat/src/Behat/Behat/Transformation/Transformer/RepositoryArgumentTransformer.php(87): Behat\Behat\Transformation\Transformer\RepositoryArgumentTransformer->applyNormalTransformations(Array, Object(Behat\Behat\Definition\Call\DefinitionCall), 'expectedNbUsers', '9')
      #13 vendor/behat/behat/src/Behat/Behat/Transformation/Call/Filter/DefinitionArgumentsTransformer.php(103): Behat\Behat\Transformation\Transformer\RepositoryArgumentTransformer->transformArgument(Object(Behat\Behat\Definition\Call\DefinitionCall), 'expectedNbUsers', '9')
      #14 vendor/behat/behat/src/Behat/Behat/Transformation/Call/Filter/DefinitionArgumentsTransformer.php(64): Behat\Behat\Transformation\Call\Filter\DefinitionArgumentsTransformer->transformArgument(Object(Behat\Behat\Definition\Call\DefinitionCall), 'expectedNbUsers', '9')
      #15 vendor/behat/behat/src/Behat/Testwork/Call/CallCenter.php(118): Behat\Behat\Transformation\Call\Filter\DefinitionArgumentsTransformer->filterCall(Object(Behat\Behat\Definition\Call\DefinitionCall))
      #16 vendor/behat/behat/src/Behat/Testwork/Call/CallCenter.php(96): Behat\Testwork\Call\CallCenter->filterCall(Object(Behat\Behat\Definition\Call\DefinitionCall))
      #17 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeStepTester.php(125): Behat\Testwork\Call\CallCenter->makeCall(Object(Behat\Behat\Definition\Call\DefinitionCall))
      #18 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeStepTester.php(73): Behat\Behat\Tester\Runtime\RuntimeStepTester->testDefinition(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), Object(Behat\Behat\Definition\SearchResult), false)
      #19 vendor/behat/behat/src/Behat/Behat/Hook/Tester/HookableStepTester.php(74): Behat\Behat\Tester\Runtime\RuntimeStepTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), false)
      #20 vendor/behat/behat/src/Behat/Behat/EventDispatcher/Tester/EventDispatchingStepTester.php(73): Behat\Behat\Hook\Tester\HookableStepTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), false)
      #21 vendor/behat/behat/src/Behat/Behat/Tester/StepContainerTester.php(59): Behat\Behat\EventDispatcher\Tester\EventDispatchingStepTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), false)
      #22 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeScenarioTester.php(76): Behat\Behat\Tester\StepContainerTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false)
      #23 vendor/behat/behat/src/Behat/Behat/Hook/Tester/HookableScenarioTester.php(74): Behat\Behat\Tester\Runtime\RuntimeScenarioTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false)
      #24 vendor/behat/behat/src/Behat/Behat/EventDispatcher/Tester/EventDispatchingScenarioTester.php(103): Behat\Behat\Hook\Tester\HookableScenarioTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false)
      #25 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/IsolatingScenarioTester.php(69): Behat\Behat\EventDispatcher\Tester\EventDispatchingScenarioTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false)
      #26 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeFeatureTester.php(84): Behat\Behat\Tester\Runtime\IsolatingScenarioTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false)
      #27 vendor/behat/behat/src/Behat/Behat/Hook/Tester/HookableFeatureTester.php(72): Behat\Behat\Tester\Runtime\RuntimeFeatureTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), false)
      #28 vendor/behat/behat/src/Behat/Behat/EventDispatcher/Tester/EventDispatchingFeatureTester.php(71): Behat\Behat\Hook\Tester\HookableFeatureTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), false)
      #29 vendor/behat/behat/src/Behat/Testwork/Tester/Runtime/RuntimeSuiteTester.php(63): Behat\Behat\EventDispatcher\Tester\EventDispatchingFeatureTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), false)
      #30 vendor/behat/behat/src/Behat/Testwork/Hook/Tester/HookableSuiteTester.php(73): Behat\Testwork\Tester\Runtime\RuntimeSuiteTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Testwork\Specification\GroupedSpecificationIterator), false)
      #31 vendor/behat/behat/src/Behat/Testwork/EventDispatcher/Tester/EventDispatchingSuiteTester.php(72): Behat\Testwork\Hook\Tester\HookableSuiteTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Testwork\Specification\GroupedSpecificationIterator), false)
      #32 vendor/behat/behat/src/Behat/Testwork/Tester/Runtime/RuntimeExercise.php(71): Behat\Testwork\EventDispatcher\Tester\EventDispatchingSuiteTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Testwork\Specification\GroupedSpecificationIterator), false)
      #33 vendor/behat/behat/src/Behat/Testwork/EventDispatcher/Tester/EventDispatchingExercise.php(70): Behat\Testwork\Tester\Runtime\RuntimeExercise->test(Array, false)
      #34 vendor/behat/behat/src/Behat/Testwork/Ordering/OrderedExercise.php(80): Behat\Testwork\EventDispatcher\Tester\EventDispatchingExercise->test(Array, false)
      #35 vendor/behat/behat/src/Behat/Testwork/Tester/Cli/ExerciseController.php(149): Behat\Testwork\Ordering\OrderedExercise->test(Array, false)
      #36 vendor/behat/behat/src/Behat/Testwork/Tester/Cli/ExerciseController.php(108): Behat\Testwork\Tester\Cli\ExerciseController->testSpecifications(Object(Symfony\Component\Console\Input\ArgvInput), Array)
      #37 vendor/behat/behat/src/Behat/Testwork/Cli/Command.php(63): Behat\Testwork\Tester\Cli\ExerciseController->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      #38 vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php(264): Behat\Testwork\Cli\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      #39 vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(869): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      #40 vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(223): Symfony\Component\Console\Application->doRunCommand(Object(Behat\Testwork\Cli\Command), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      #41 vendor/behat/behat/src/Behat/Testwork/Cli/Application.php(124): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      #42 vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(130): Behat\Testwork\Cli\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      #43 vendor/behat/behat/bin/behat(34): Symfony\Component\Console\Application->run()
      #44 {main}

No problems with

"doctrine/common": "2.7.2"
"gorghoa/scenariostate-behat-extension": "1.0.4",
or 
"doctrine/common": "2.7.3"
"gorghoa/scenariostate-behat-extension": "1.0.3",
vincentchalamon commented 7 years ago

I think the issue is on Behatch\Context as it uses @transform instead of @Transform:

Fatal error: Fatal error: [Semantical Error] The annotation "@transform" in method Behatch\Context\BaseContext::castToInt()…

/cc @gorghoa We should allow lowercases Behat annotations, but what about other cases? @trANsFOrM