Gli elementi di dati multipli devono essere in metodi di prova a più unità?

1

Spesso desidero applicare lo stesso test unitario ai dati più elementi che sono approssimativamente equivalenti (due stringhe non vuote). Attualmente li implemento in metodi di test di unità multiple, con nomi come MethodNonEmptyValidString1 e MethodNonEmptyValidString2 . Questo ha un po 'di odore di codice per me.

È meglio disporre di più elementi di dati in un unico metodo con più asserzioni? Esiste un altro modello di progettazione che lo modella in modo più accurato?

    
posta C. Ross 16.05.2012 - 18:42
fonte

2 risposte

1

Bene, NUnit ha un attributo TestCase proprio per questo scopo, che sembra risolvere il problema in modo ordinato.

    [TestCase(NonMatchingName1, NonMatchingValue1)]
    [TestCase(NonMatchingName2, NonMatchingValue2)]
    public void TestNonMatchingAttribute(string name, string expectedValue)
    {
         //...
    }

Questo tipo di struttura risolve il problema abbastanza bene.

    
risposta data 16.05.2012 - 21:39
fonte
2

Forse la tua denominazione è un po 'non creativa e non descrittiva.

Ad ogni modo, usando Java testerei la stessa cosa con dati diversi usando uno dei due modi seguenti:

Entrambi consentono di alimentare diversi set di dati con lo stesso metodo di prova. I tuoi test avranno nomi che alludono ai parametri nel tuo output di test.

    
risposta data 16.05.2012 - 21:43
fonte

Leggi altre domande sui tag