gpt4 book ai didi

c# - 如何构建新的 NUnit 约束

转载 作者:太空宇宙 更新时间:2023-11-03 14:20:49 24 4
gpt4 key购买 nike

我有一个扩展方法断言给定值是列表中的值之一。

public static void IsEither<T>(this T value, params T[] allowedValues)
{
EqualConstraint isInAllowed = null;

foreach (var allowed in allowedValues)
isInAllowed = isInAllowed == null ?
Is.EqualTo(allowed) : isInAllowed.Or.EqualTo(allowed);

Assert.That(value, isInAllowed);
}

我想知道有没有其他更好/优雅的方法来做到这一点,特别是使用 NUnit 的 ConstraintBuilder、ConstraintExpression、ConstraintOperator 等

最佳答案

NUnit 中有一个 CollectionAssert 应该可以提供帮助。如果您断言项目集合包含另一个项目,您可以尝试这样的事情:

public static void IsEither<T>(this T value, params T[] allowedValues)
{
CollectionAssert.Contains(allowedValues, value);
}

关于c# - 如何构建新的 NUnit 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5460099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com