Domanda

I due luoghi ovvi mi viene in mente sarebbe una sorta di cartella "test" proprio accanto al codice su cui sto lavorando. Quindi, qualcosa di simile a:

\project-code
    \my-feature
        \production-code
        \testing
            ***my tests***
    \co-workers-feature
        \production-code
        \testing

O potrei dividere il codice di prova di una gerarchia completamente separato. Quindi, qualcosa di simile a:

\project-code
    \my-feature
    \co-workers-feature
\testing-project-code
    \my-feature
        ***my tests***
    \co-workers-feature

Ho visto un sacco di quadri utilizzare il secondo approccio, ma di recente siamo stati mettendo il nostro codice di test all'interno del codice di produzione per lo più per convenienza. È un approccio molto migliore rispetto agli altri o c'è una buona pratica qui?

È stato utile?

Soluzione

Io uso la seconda opzione. Questo significa che posso spedire il codice senza il test, se necessario. Anche dal guardare la classe o il pacchetto So dove i test di unità per esso sono.

Ecco una domanda relativa:

si fa a mettere in unit test stesso progetto o un altro progetto?

Altri suggerimenti

Metterli dove è più conveniente per te. È possibile impostare il sistema di generazione per rimuoverli dal prodotto finale, se lo si desidera. Il test è una "best practice". Tutto ciò che rende il test più semplice, senza ridurre la sua efficacia è semplicemente migliorando su una best practice.

Io preferisco mantenere unit test vicino. Ho visto bene l'opzione 1 di lavoro. Per un piccolo progetto, entrambi gli approcci funzionano bene, ma come il progetto diventa sempre più grande, è più difficile trovare e mantenere i test quando vivono in una parte molto diversa dell'albero. Se sono vicini, cambiandoli sarà naturale quando si modifica il codice del prodotto. Se essi sono lontani, ci vuole uno sforzo mentale e verrà ignorato di più. Questo significa una maggiore possibilità che essi saranno fuori sincronia.

Si noti che per fare questo è necessario un sistema di marca che consente la compilazione condizionale delle directory di test. Se non si desidera avere per costruire ogni volta. Se non è possibile ottenere che, potrebbe essere necessario un albero separato.

Se la sua un sito web che si controlla quindi non fa male ad avere tutto nella stessa cartella. Se il suo software classico che si rilascia quindi tende ad essere buona pratica di averlo separato come nel caso 2, in modo che non si accidentalmente causano alcun gonfiare quando si rilascia.

Per me, la prima opzione ha più senso, soprattutto dal punto SCM di vista: codice di produzione e il codice di prova sono ben tenuti in sincronia (come dovrebbero) e, se tag o un ramo del progetto, si tag o ramo produzione e codice di prova nello stesso tempo (come dovrebbero).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top