2010-11-09 22 views
36

En C# ¿cómo puedo probar la unidad una condición mayor que?Prueba de unidad C#, cómo realizar una prueba mayor que

Es decir, si el recuento de registros i es mayor que 5, la prueba se realiza correctamente.

Cualquier ayuda se agradece

Código:

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

Respuesta

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

Pero es mejor poner un mensaje para que sepa por qué falló la prueba: Assert.IsTrue (actualCount> 5, "The actualCount no fue mayor que cinco"); – McKay

+0

Gracias, funcionó – kayak

+4

@McKay: personalmente encuentro que un esfuerzo desperdiciado. Si la prueba falla, voy a ver su código de todos modos, por lo que no ahorraría mucho tiempo * incluso si falla * y la mayoría de las afirmaciones nunca van a fallar después del primer IME de registro. –

6

La forma correcta de hacer esto utilizando las nUnit es:

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

'Microsoft.VisualStudio.TestTools.UnitTesting.Assert' no contiene una definición para 'Eso'. en VS 2012. –

+0

Ni GreaterThan, ni LessThan, ni ... – stannius

+2

¡Solo es bueno para nUnit! (pero gracias por T tip :-)) – ShloEmi

0

actualCount.Should().BeGreaterThan(5);

+1

Se ve bien, este es el Método de extensión de? ¿Qué espacio de nombres definir? – ShloEmi

+0

Esto solo es bueno para FluentAssertions, pero como @ShloEmi le dijo a NKnusperer, es un buen consejo para quienes lo usan. – RoLYroLLs

4

A g solución eneric que se puede utilizar con cualquier tipo comparable:

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; 
} 
0

en XUnit es:

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