Ho una suite di test che ho caricato utilizzando TestLoader di (dal modulo unittest) Metodo loadTestsFromModule(), vale a dire,Skip prova unittest senza sintassi decoratore
suite = loader.loadTestsFromModule(module)
Questo mi dà una perfetta ampio elenco di test funziona bene Il mio problema è che l'imbracatura di test con cui sto lavorando a volte ha bisogno di saltare determinati test in base a vari criteri. Quello che voglio fare è qualcosa di simile:
for test in suite:
mark the test as 'to-skip' if it meets certain criteria
Nota che non posso semplicemente rimuovere il test dalla lista dei test perché voglio il unittest test runner per saltare in realtà i test, aggiungerli al saltato conta, e tutto quel jazz.
La documentazione unittest suggests using decorators intorno ai metodi di prova o classi. Dal momento che sto caricando questi test da un modulo e determinando di saltare in base a criteri non contenuti nei test stessi, non posso davvero usare decoratori. C'è un modo per iterare su ogni singolo test e alcuni come contrassegnarlo come un test "to-skip" senza dover accedere direttamente alla classe di test o ai metodi all'interno della classe?
Potresti considerare py.test, che ha un [skipif] (http://pytest.org/latest/skipping.html#marking-a-test-function-to-be-skipped) –