Sto imparando prova VS Unità e provato questo:Test unità di Visual Studio: perché il test non funziona mentre analizza gli stessi valori float?
[TestMethod()]
public void calcTest()
{
double expected = 1.234F; // TODO: Initialize to an appropriate value
double actual;
actual = 1.234F;
Assert.AreEqual(expected, actual);
Assert.Inconclusive("Verify the correctness of this test method.");
}
Durante l'esecuzione di questo metodo di prova, si dice inconcludente ??? Perché ?
Aggiornamento: Ciao Ragazzi ok per dire non confrontare i float ma i requisiti aziendali sono quello che sono, quindi cosa dovrei fare se ho bisogno di confrontarli?
Intendi dire che è impossibile testare il calcolo fluttuante senza mal di testa? Quindi, se il test è un tale mal di testa nel calcolo finanziario, non è meglio non testare affatto?
sembra un enorme bug o difetto di progettazione nel quadro vs test piuttosto :) come si dice qui http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.assert.inconclusive%28VS.80%29.aspx
indica che un affermazione non può essere provata vera o falsa.
Dato che paragono 2 litterali uguali, è vero!
La suite di test di unità Microsoft ora comprende anche metodi di overload per testare carri allegorici (e raddoppia) passando in una tolleranza delta che indica "quanto sono uguali" i valori che devono essere passati (http://msdn.microsoft.com/en-us/library/ms243456.aspx). Utilizzato in questo modo: 'Assert.AreEqual (float expected, float actual, float delta, string failingTestMessage)' – Spiralis