在C#中我怎样才能测试大于条件?
即,如果记录计数大于5,则测试成功。
感谢任何帮助
代码:
int actualcount = target.GetCompanyEmployees().Count
Assert. ?
答案 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);