come scrivere un test unitario per la porta logica AND

0

Sto imparando i test unitari e ho un dubbio per un test che voglio fare,

per implementare una porta logica "AND"

A   B   A^B
0   0   0
0   1   0
1   0   0
1   1   1

come posso testare un metodo che funziona come AND gate ?, è questo che è un oggetto mock? o stub? Grazie,

Fornisci pseudo codice,

    
posta MaKo 01.08.2014 - 19:29
fonte

2 risposte

2

Suppongo che tu stia solo cercando un esempio di come scrivere un test unitario per qualcosa come un cancello AND.

A seconda del framework di test dell'unità, è possibile utilizzare test unitari parametrizzati, come in NUnit:

[RowTest]
[Row(0,0,0)]
[Row(0,1,0)]
[Row(1,0,0)]
[Row(1,1,1)]
public void TestAndGate(int a, int b, int expected)
{
    var test = new AndGateImplementation();
    Assert.AreEqual(expected, test.And(a,b));
}
    
risposta data 01.08.2014 - 19:37
fonte
2

I test unitari verificano che una funzione ritorni correttamente per una manciata di input e uscite conosciute. Nel caso di una semplice funzione logica, hai effettivamente il vantaggio di testare ogni input / output:

// this is what you're testing:
public Boolean And(Boolean p1, Boolean p2);

// depending on your testing framework, your test might look like this
public void TestAnd() {
  TestAnd(true,  true,  true);
  TestAnd(true,  false, false);
  TestAnd(false, true,  false);
  TestAnd(false, false, false);
}

public void TestAnd(Boolean p1, Boolean p2, Boolean r) {
  Assert.Equal(And(p1, p2), r);
}
    
risposta data 01.08.2014 - 19:43
fonte

Leggi altre domande sui tag