C#单元测试,如何测试大于

时间:2010-11-09 20:17:18

标签: c# unit-testing testing

在C#中我怎样才能测试大于条件?

即,如果记录计数大于5,则测试成功。

感谢任何帮助

代码:

int actualcount = target.GetCompanyEmployees().Count
Assert. ?

8 个答案:

答案 0 :(得分:98)

Assert.IsTrue(actualCount > 5, "The actualCount was not greater than five");

答案 1 :(得分:10)

使用nUnit时执行此操作的正确方法是:

Assert.That(actualcount , Is.GreaterThan(5));

答案 2 :(得分:4)

可与任何类似类型一起使用的通用解决方案:

public static T ShouldBeGreaterThan<T>(this T actual, T expected, string message = null)
    where T: IComparable
{
    Assert.IsTrue(actual.CompareTo(expected) > 0, message);
    return actual;
}

答案 3 :(得分:2)

在XUnit中:

    [Fact]
    public void ItShouldReturnErrorCountGreaterThanZero()
    {
        Assert.True(_model.ErrorCount > 0);
    }

答案 4 :(得分:1)

actualCount.Should().BeGreaterThan(5);

答案 5 :(得分:0)

xUnit:如果您知道上限(例如= 100),则可以使用:

Assert.InRange( actualCount ,5, 100);

答案 6 :(得分:0)

这取决于您使用的测试框架。

对于xUnit.net:

Assert.True(actualCount > 5, "Expected actualCount to be greater than 5.");

对于NUnit:

Assert.Greater(actualCount, 5);;但是,新语法

鼓励

Assert.That(actualCount, Is.GreaterThan(5));

对于MSTest:

Assert.IsTrue(actualCount > 5, "Expected actualCount to be greater than 5.");

答案 7 :(得分:0)

除了好的答案,你总是可以有一个助手类:

public static class AssertHelper
{
    public static void Greater(int arg1, int arg2, string message = null)
    {
        Assert.IsTrue(arg1 > arg2, message);
    }

    public static void NotZero(int number, string message = null)
    {
        Assert.IsTrue(number != 0, message);
    }

    public static void NotNull(object obj, string message = null)
    {
        Assert.IsTrue(obj != null, message);
    }

    public static void IsNotEmpty(string str, string message = null)
    {
        Assert.IsTrue(str != string.Empty, message);
    }

    // etc...
}

用法:

AssertHelper.Greater(expected,actual);