644.md 1.6 KB
Newer Older
Lab机器人's avatar
readme  
Lab机器人 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
# Testing with feature flags

> 原文:[https://docs.gitlab.com/ee/development/testing_guide/end_to_end/feature_flags.html](https://docs.gitlab.com/ee/development/testing_guide/end_to_end/feature_flags.html)

*   [Running a scenario with a feature flag enabled](#running-a-scenario-with-a-feature-flag-enabled)

# Testing with feature flags[](#testing-with-feature-flags "Permalink")

要在启用了功能标志的情况下运行特定的测试,可以使用`QA::Runtime::Feature`类来启用和禁用功能标志( [通过 API](../../../api/features.html) ).

请注意,更改功能标志需要管理员授权. 只要您通过`GITLAB_QA_ADMIN_ACCESS_TOKEN` (推荐)提供适当的访问令牌,或者提供`GITLAB_ADMIN_USERNAME``GITLAB_ADMIN_PASSWORD``QA::Runtime::Feature`将自动以管理员身份进行身份验证.

请确保包含标签`:requires_admin`以便在没有管理员权限的环境中可以跳过测试.

```
RSpec.describe "with feature flag enabled", :requires_admin do
  before do
    Runtime::Feature.enable('feature_flag_name')
  end

  it "feature flag test" do
    # Execute a test with a feature flag enabled
  end

  after do
    Runtime::Feature.disable('feature_flag_name')
  end
end 
```

## Running a scenario with a feature flag enabled[](#running-a-scenario-with-a-feature-flag-enabled "Permalink")

也可以在启用功能标记的情况下运行整个方案,而无需编辑现有测试或编写新测试.

有关详细信息,请参见[质量检查自述文件](https://gitlab.com/gitlab-org/gitlab/tree/master/qa#running-tests-with-a-feature-flag-enabled) .