Nano Hash - криптовалюты, майнинг, программирование

Как получить доступ к значениям другой функции в Specflow

У меня есть два файла функций: feature1.feature и feature2.feature. В feature1.feature я создаю значение поля и добавляю его в FeatureContext.Current. Есть ли возможность получить доступ к этому значению из feature2.feature?

Я знаю, что класс FeatureContext будет очищен после завершения запуска конкретной функции. Есть ли другой способ доступа к значениям между двумя разными файлами функций?

Пожалуйста, предложите несколько идей.

Заранее спасибо.

11.04.2013

Ответы:


1

Я бы настоятельно рекомендовал против этой установки. Тому есть пара причин:

  • Техническая причина: SpecFlow не гарантирует порядок выполнения каких-либо функций сценариев. Вы не можете быть уверены, что оно всегда будет одним и тем же.
  • Бизнес-причина: сценарии, которые вы пишете, — это, прежде всего, средство коммуникации. Вы хотите, чтобы их было легко понять самим по себе. Когда вы говорите о конкретном сценарии, вам не нужно читать другие сценарии в функции, чтобы понять, что делает этот особый случай. Это засоряет ваше общение по сценарию.

Я предлагаю вам дублировать информацию в каждом сценарии для удобства чтения. Если в каждом сценарии вы столкнетесь с большим количеством повторяющейся информации, вы можете использовать Фоновую функцию Gherkin< /а>. Эти шаги выполняются один раз перед каждым сценарием в файле функций и могут использоваться для повторяющихся действий.

Если вы окажетесь в ситуации, когда вам нужно передавать информацию туда и обратно между сценариями, вам, вероятно, следует сделать шаг назад и пересмотреть свои сценарии. Это действительно два разных сценария? Или, может быть, только один? Как бы вы могли выразить их яснее?

Я надеюсь, что это было полезно.

12.04.2013

2

Я никогда не пробовал, но, возможно, вы можете использовать атрибуты [BeforeFeature] и [AfterFeature], чтобы получить значение из контекста функции и установить его в контексте следующей функции.

11.04.2013
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..