Вызовите функцию каратэ, которая включает в себя еще один вызов внутри - PullRequest
3 голосов
/ 08 июля 2019

Я пытаюсь вызвать файл объекта, который также вызывает другой файл внутри.Функция, которую я вызываю, находится в другом каталоге.Поэтому, когда я выполняю сценарий, он выглядит не в том месте.

Вот пример:

-scenarios
--directoryA
---feature1
---feature2
--directoryB
---feature3
Feature: feature2

  Scenario: scenario2
    * url testUrl
    * def testCall = call read('feature1.feature')

    Given request { test: 'test' }
    When method post
    Then status 201
Feature: feature3

   Scenario: scenario3
   * url testUrl
   * def testCall = call read('classpath:scenarios/directoryA/feature2.feature')

   Given request { test: 'test' }
   When method post
   Then status 201

Ошибка, которую я получаю после выполнения функции 3:

feature2.feature:9 - javascript evaluation failed: read('feature1.feature'), java.io.FileNotFoundException: /Users/svetoslavlazarov/project/src/test/java/scenarios/directoryB/feature1.feature (No such file or directory)

Проблема здесь в том, что вызов функции1 находится в неправильном каталоге.Он должен смотреть на каталог A, а не на каталог B.Однако, если я выполню сценарий 2 автономно, это нормально.

Можете ли вы помочь мне с этим?Спасибо.

1 Ответ

3 голосов
/ 08 июля 2019

Попробуйте это:

* def testCall = call read('this:feature1.feature')
...