Функция с тегом все еще выполняется, когда настроено не - PullRequest
1 голос
/ 26 марта 2020

У меня есть основной файл функций, в который я включил файл параметров «настройки», в который должны быть добавлены некоторые тестовые данные. Этот файл функции установки имеет аннотацию, которую я назвал @ignore. Тем не менее, следуя инструкциям в этом Невозможно включить аннотацию @ignore для функций SO ответ, но я все еще вижу, как файл функции установки запускается вне основной функции тестирования.

Основной файл функций, unsubscribe_user.feature:

Feature: Unsubscribe User

  Background:
    * def props = read('properties/user-properties.json')
    * url urlBase
    * configure headers = props.headers
    * def authoriZation = call read('classpath:basic-auth.js')  { username: 'admin', password: 'admin' }
    * def testDataSetup = call read('classpath:com/meanwhileinhell/app/karate/feature/mockserver/testDataSetup.feature') { data1: #(props.data1), data2: #(props.data2) }

  Scenario: Unsubscribe user
   ...
   ...

testDataSetup.feature file

@ignore
Feature: Add data to REST Mock Server

  Background:
    * url mockServerUrlBase

  Scenario: Add data
    * print 'Adding test data'
    Given path 'mapping'
    And request { data1: '#(data1)', data2: '#(data2)' }
    When method post
    Then status 201

Теперь из моего Java класса бегунов я добавил @KarateOptions(tags = "~@ignore").

import org.junit.runner.RunWith;

import com.intuit.karate.KarateOptions;
import com.intuit.karate.junit4.Karate;

import cucumber.api.CucumberOptions;

@RunWith(Karate.class)
@CucumberOptions(features = "classpath:com/meanwhileinhell/app/karate/feature/unsubscribe_user.feature")
@KarateOptions(tags = "~@ignore")
public class KarateTestUnSubscribeUserRunner {
}

Тем не менее, я все еще вижу, как вызывается мой оператор печати в моем классе установки, и выполняются два теста POST. Я также попытался запустить свой пакет со следующими параметрами cmd, но снова все равно вижу, что файл функций запускается дважды.

./gradlew clean test -Dkarate.env=local -Dkarate.options="--tags ~@ignore" --debug

Я где-то следую этой ошибке? Что я могу добавить в мой файл karate-config.js? Я использую каратэ версии 0.9.0.

1 Ответ

1 голос
/ 26 марта 2020

Аннотации работают только на функции «верхнего уровня». Не для "вызываемых" функций.

Если ваша проблема в том, что функции запускаются, даже если они не ожидаются, вы, должно быть, что-то упустили, или какой-то класс Java работает, не зная об этом. Поэтому, пожалуйста, следуйте этому процессу, и мы можем это исправить: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

РЕДАКТИРОВАТЬ: я думаю, что я получил это - пожалуйста, не смешивайте CucumberOptions, на самом деле мы устарели, используйте только KarateOptions. Даже это не рекомендуется в 0.9.5 и далее, и вам следует перейти к JUnit 5.

Прочитайте документы: https://github.com/intuit/karate#karate -опции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...