После просмотра источника носа, в частности файла selector.py, если вы посмотрите, что происходит,
https://github.com/nose-devs/nose/blob/master/nose/selector.py#L129
При проверке, если мы вызываем wantFile
, self.matches
, который затем выполняет поиск regex
против match
, который вы бы передали как testMatch
.
Проблема возникает, когда вы потом проверяете (и во всем этом файле),
https://github.com/nose-devs/nose/blob/master/nose/selector.py#L152
Он снова выполняет тот же тип проверок, против wantFunction
.
Это означает, что если у вас есть другая структура для вашего пакета, вашего файла-контейнера и вашего фактического тестового класса / функции, вам придется создавать сумасшедшее сложное регулярное выражение, чтобы соответствовать этому на каждом этапе.
Для меня, когда я узнал об этом, я решил добавить к моему пакету, контейнеру и тестовым функциям общий бит, т. Е.
setests
├── __init__.py
├── setest_area1.py
└──── def setest_someblock(): ...
И тогда моя nose
команда работает как,
nose --testMatch="setest"
Это затем фильтрует то, как я ожидаю, что оно будет работать.