- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们目前正在尝试实现 Togglz Spring-MVC 中的库。
我们目前通过以下方式从 MyFeatures.java
文件管理代码中的切换:
import org.togglz.core.Feature;
import org.togglz.core.annotation.EnabledByDefault;
import org.togglz.core.annotation.Label;
import org.togglz.core.context.FeatureContext;
public enum MyFeatures implements Feature {
@Label("A Feature")
MY_FEATURE;
public boolean isActive() {
return FeatureContext.getFeatureManager().isActive(this);
}
}
然后在我们的实际类(class)中:
if (MyFeatures.MY_FEATURE.isActive()) {
// some code...
}
这很有效,但我们在测试中存在缺陷,我们执行以下操作:
@Rule
public TogglzRule togglzRule = TogglzRule.allDisabled(MyFeatures.class);
// some tests, then:
if (MyFeatures.MY_FEATURE.isActive()) {
// some feature dependent test...
}
这里的问题是,MyFeature.java
中的切换默认为禁用,并且可以从我们的 UI 或在此 MyFeatures.java
文件中打开/关闭。但是...我们在测试中的切换默认为启用,并使用以下行打开/关闭:
@Rule
public TogglzRule togglzRule = TogglzRule.allDisabled(MyFeatures.class);
或在每个测试中单独进行。
这至少是我们必须关闭功能的两个地方,如果我们有更多使用这些功能的测试,可能会关闭更多地方,所以我的问题是:
是否可以从一个位置控制所有 Togglz 功能切换,无论它们是在代码中还是在测试中?
最佳答案
The issue here is that our toggles in MyFeature.java are defaulted to disabled, and toggled on/off from either our UI or within this MyFeatures.java file.
更改此文件中或 UI 中的功能状态会影响生产环境中的应用程序行为(从而影响可能的用户)。
BUT... our toggles in the tests are defaulted to enabled and toggled on/off with either the line:
更改测试中的功能状态会影响测试下的应用程序行为。
This is AT LEAST two places we have to toggle off our features, maybe more if we have more tests using those features
您所问的问题是有争议的,因为如果存在这种可能性,它将影响两个环境(测试和生产)。这一事实将导致以下结果:
因此,这种分离是出于目的而存在的,从两个不同的地方管理功能状态实际上是一个功能,而不是一个错误。
我听说的另一个想法是,在大多数情况下,您不应该测试禁用功能时的情况,因为这种状态应该是暂时的,并且不值得维护所有可能情况的测试。
关于java - 从一个地方控制 Togglz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42272833/
从 2.0.0 版开始,Togglz 提供激活策略来配合功能。例如,您可以连接应启用该功能的服务器 IP 地址列表。然而,这些策略实际上是如何附加到一个特征上的呢?我所看到的只是我可以在 Togglz
我们目前正在尝试实现 Togglz Spring-MVC 中的库。 我们目前通过以下方式从 MyFeatures.java 文件管理代码中的切换: import org.togglz.core.Fea
我有两个应用程序 - api 和 dashboard。这两个应用程序都使用同一数据库中的相同功能。 Togglz 控制台仅在 dashboard 应用程序中处于 Activity 状态。问题是,当我更
我们正在做一个项目,我们想使用一些切换功能工具,如 ff4j 或 togglz,但我们对性能有真正的限制,我的意思是我们真的需要一个执行时间更短的工具,我已经检查了一点 ff4j 和 togglz 但
如果我在单元测试中声明一个 TogglzRule,它必须是公开的,否则会抛出异常:java.lang.Exception: The @Rule 'togglzRule' must be public.
最近几天我一直在使用 togglz。 我试图找出togglez API 中是否有基于注释的方法可用。 我想像下面那样做 - public class Application { public st
如何运行嵌入了 jetty 9 的 togglz。我尝试使用以下代码 ServletHolder togglz = new ServletHolder(TogglzConsoleSer
我们正在使用 Togglz 在我们的项目中打开和关闭功能。以下 TogglzFeature 枚举正在实现 org.togglz.core.Feature 接口(interface) public en
我已将 togglz 实现到我的 Spring Boot 应用程序中。我什至可以访问 Togglz 控制台,并且我已经使用 FeatureManager 测试了这些限制。但是,如果我转到 togglz
我需要检索状态发生更改的 togglz 功能名称。有什么办法可以做到这一点吗?过去 1 天我一直坚持这个问题。非常感谢任何帮助。请在下面找到我的示例代码 public enum MyFeatu
在 Maven 上的 Web 应用程序中安装 togglz 时,我不断收到 IllegalStateException: Could not find the FeatureManager。我完全按照
我正在尝试寻找是否可以在非 Web 应用程序中使用 togglz - 就像我们有纯 Java 项目或 Java 批处理程序一样。 我尝试在独立应用程序中添加 togglz 库并尝试运行它。 这是我的代
我尝试将 togglz 集成到我的 Spring Boot 应用程序中,但是看起来自动配置很难提供 FeatureManager。以下是我的堆栈跟踪: 2017-02-23 16:04:30.033
我正在尝试在 Spring Boot 上运行 Togglz 控制台,但我在屏幕上看到了这个: (type=Forbidden, status=403). You are not allowed to
我是在我们公司第一次配置 togglz JDBCStateRepository。 在我从 InMemoryStateRepository 转换为 JDBCStateRepository 的第一个项目中
我正在尝试使用 @Configuration beans 而不是 XML 来实现 Togglz 和 Spring。我不确定如何配置配置 bean 的返回类型。例如: @Configuration pu
将 Togglz 与我的 Spring MVC 应用程序集成时遇到异常。 异常 java.lang.IllegalStateException: Could not find the FeatureM
我正在尝试将 Togglz 集成到 Spring Boot Web 应用程序中。由于我没有成功使用 Togglz 自动配置(没有创建 FeatureManager bean,因此没有创建 Applic
我的 spring-boot+jersey 应用程序已经集成了 togglz。我添加了以下依赖项,如下所示。 // togglz compile('org.togglz:togglz-servlet:
我们的应用程序当前使用 Togglz。我正在从 FileBasedStateRepository 迁移到 JDBCStateRepository。我正在使用构建器创建JDBCStateReposito
我是一名优秀的程序员,十分优秀!