【发布时间】:2018-11-16 13:30:09
【问题描述】:
提前致谢!
我们使用 selenium Web 驱动程序进行了一些自动化测试,这些测试非常棒,并提供了一个非常好的回归包。
问题是现在我们的代码中有功能切换。所以我需要说忽略这些测试,除非该功能切换被打开/关闭。我找不到任何真正搜索谷歌的东西。
理想情况下,我不希望在功能测试的顶部使用“if”语句,但看起来它将成为主要方式。我最初的想法是在哪里创建自定义属性
public class IsFeatureFlagTurnedOn : Attribute
{
public IsFeatureFlagTurnedOn(string featureToggleName)
{
FeatureToggleName = featureToggleName;
}
public string FeatureToggleName {get;}
}
public class MyTests
{
[TestMethod]
[IsFeatureFlagTurnedOn("MyFeature1")]
public void ItShould()
{
// only run if MyFeature1 is turned on
}
}
我有些需要挂钩到 MSTest 管道,并说如果此属性存在并且 MyFeature1 的逻辑已关闭,则不要运行此测试-查看动态添加 [Ignore] 但没有运气。
这是通过 VSTS 运行的,我可以使用 [TestCategories],但我必须不断更新我不想打开/关闭功能的管道。
任何帮助或建议都会很棒!
【问题讨论】:
标签: c# unit-testing mstest featuretoggle