我想在NUnit中使用新的Constraint-based model。哪个程序集和命名空间是定义的类? (具体来说,我正在寻找文档中讨论的“Is”类和IConstraint实现)。它们似乎不在NUnit.Framework中。
另外,我对v2.4.8感兴趣,在撰写本文时,它是最新的稳定版本。
答案 0 :(得分:3)
IConstraint实现在NUnit.Framework.Constraints中;我通过检查VS Intellisense for Assert来得到这个。那()。我仍然没有在NUnit的任何地方看到这个实际记录。
我仍然不知道在哪里。
答案 1 :(得分:2)
Is类位于nunit.framework.dll中的NUnit.Frameworks.SyntaxHandlers中。
答案 2 :(得分:1)
在NUnit 2.5 Beta 2上使用NUnit.Framework为我工作。从2.4.8的代码看,它看起来就像是在同一个类中。
namespace NUnit.Framework
{
// Summary:
// The Assert class contains a collection of static methods that implement the
// most common assertions used in NUnit.
public class Assert
{
public static void That(bool condition);
public static void That(ActualValueDelegate del, IResolveConstraint expr);
public static void That(bool condition, string message);
public static void That(object actual, IResolveConstraint expression);
public static void That<T>(ref T actual, IResolveConstraint constraint);
public static void That(TestDelegate code, IResolveConstraint constraint);
public static void That(ActualValueDelegate del, IResolveConstraint expr, string message);
public static void That(bool condition, string message, params object[] args);
public static void That(object actual, IResolveConstraint expression, string message);
public static void That<T>(ref T actual, IResolveConstraint constraint, string message);
public static void That(ActualValueDelegate del, IResolveConstraint expr, string message, params object[] args);
public static void That(object actual, IResolveConstraint expression, string message, params object[] args);
public static void That<T>(ref T actual, IResolveConstraint expression, string message, params object[] args);
}
}
AssertionHelper
也位于同一名称空间中。
对于Is
- 尝试NUnit.Framework.SyntaxHelpers