在使用 NUnit 为我们的 .Net (C#) 库编写一些测试时,我遇到了以下问题: 我有一个具有 Flags 属性的枚举,例如
[Flags]
public enum Powers : int
{
Undefined = 0,
Zero = 1,
One = 2,
Two = 4,
}
现在我想编写一个 NUnit 测试来检查
Powers aValue = Powers.One | Powers.Two
包含 Powers.Two。目前,我使用
Assert.That((aValue & Powers.Two) == Powers.Two), "something went wrong")
但是有没有更优雅的方法来做到这一点? 感谢您的提示。
最佳答案
您可以使用Enum.HasFlag .
就您而言:
Assert.That(aValue.HasFlag(Powers.Two), "something went wrong");
请注意,此方法仅在.NET Framework 4及更高版本中可用。
关于.net - NUnit 断言枚举值包含标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16420481/