Pysys – Как запустить только проверяемую часть теста

Я ищу способ добавить новый «режим» в Pysys Baserunner.

В частности, я хотел бы добавить режим проверки, который просто заново запустит часть проверки. Полезно, когда вы пишете свой тестовый файл и пытаетесь настроить условие проверки, чтобы он соответствовал текущему выходу без повторного повторного запуска всей тестовой системы.

Каков наилучший способ сделать это без изменения исходного класса?

К сожалению, это требует поддержки со стороны. Проблема заключается в том, что класс BaseRunner всегда будет автоматически очищать выходной каталог, и в рамки нет никакого крючка, чтобы вы могли избежать этого. Вы можете, например, переместить исходный подкаталог вручную, вы хотите повторно запустить проверку, чтобы сказать «повторить» (тот же уровень каталога), а затем использовать;

from pysys.constants import * from pysys.basetest import BaseTest class PySysTest(BaseTest): def execute(self): if self.mode=='repeat': pass def validate(self): if self.mode=='repeat': self.output=os.path.join(self.descriptor.output, 'repeat') 

где я опустил реализации выполнения и проверки. Вам нужно будет добавить режим в дескриптор для теста

  <classification> <groups> <group></group> </groups> <modes> <mode>repeat</mode> </modes> </classification> 

и запустить с помощью «pysys.py run -mrepeat». Это поможет с отладкой, если выполнение выполняется долгое время, но, вероятно, не хочет, чтобы вы хотели, чтобы из-за коробки был выбран верхний уровень, чтобы выполнить проверку только после предыдущего теста. Я добавлю для этого запрос функции.