Podawanie nazw w wierszu poleceń, tak jak sugerują inne odpowiedzi, działa i jest przydatne. Jednak kiedy jestem w trakcie pisania testów, często stwierdzam, że chcę uruchomić tylko test, nad którym pracuję, a nazwy, które musiałbym pisać w wierszu poleceń, stają się dość długie i kłopotliwe w pisaniu . W takim przypadku wolę użyć niestandardowego dekoratora i flagi.
Definiuję wipd("dekorator w toku") w ten sposób:
from nose.plugins.attrib import attr
def wipd(f):
return attr('wip')(f)
Definiuje dekorator, @wipdktóry ustawi wipatrybut na obiektach, które zdobi. Na przykład:
import unittest
class Test(unittest.TestCase):
@wipd
def test_something(self):
pass
Następnie -a wipmożna użyć w wierszu poleceń, aby zawęzić wykonanie testu do tych oznaczonych @wipd.
Uwaga dotycząca nazw ...
Używam nazwy @wipddla dekoratora, zamiast @wipuniknąć tego rodzaju problemu:
import unittest
class Test(unittest.TestCase):
from mymodule import wip
@wip
def test_something(self):
pass
def test_something_else(self):
pass
Dzięki importtemu wipdekorator stanie się członkiem klasy , a wszystkie testy w tej klasie zostaną wybrane. Te attribkontrole plugin klasa dominująca metody testowej, aby sprawdzić, czy wybrany atrybut istnieje tam i atrybuty, które są tworzone i testowane przez attribnie istnieją w wydzielonej przestrzeni. Więc jeśli testujesz z, -a fooa twoja klasa zawiera foo = "platypus", wszystkie testy w klasie zostaną wybrane przez wtyczkę.