Pysys - 如何 运行 只验证测试的部分
Pysys - How to run only the validate portion of a test
我正在寻找在 Pysys Base运行ner 中添加新 "mode" 的方法。
特别是我想添加一个验证模式,它只是重新运行验证部分。当您编写测试用例并尝试调整验证条件以适应当前输出而无需重新运行完整的测试用例时很有用。
在不更改原始 class 的情况下执行此操作的最佳方法是什么?
不幸的是,这需要框架的支持。问题是 BaseRunner class 将始终自动清除输出目录,并且没有进入框架的挂钩可以让您避免这种情况。例如,您可以手动移动要重新 运行 验证的输出子目录以说 'repeat' (同一目录级别),然后使用;
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"。如果您的执行需要很长时间,这将有助于调试,但可能不希望您想要开箱即用,即 运行ner 的顶级选项仅对之前的 [=21] 执行验证=] 测试。我将为此添加一个功能请求。
自最初的讨论以来,PySys(在 v1.1.1 中)添加了一个 --validateOnly 命令行选项,它几乎按照您的建议进行操作 - 它跳过了执行方法,只是 运行s 验证。
假设您不是 运行 --purge(我认为对于这个用例来说这是一个安全的假设),并且您没有尝试从中读取零字节文件的验证命令输出目录(即使未指定 --purge 也总是被删除)。但是,假设满足这些条件,您的(非空)输出文件在您完成第一个 运行 测试后仍将存在,您可以使用 -- 重新 运行 验证仅验证命令。
要获得此功能,您可以安装最新的 PySys 版本 (1.4.0) - 请参阅 https://pypi.org/project/PySys/
我正在寻找在 Pysys Base运行ner 中添加新 "mode" 的方法。
特别是我想添加一个验证模式,它只是重新运行验证部分。当您编写测试用例并尝试调整验证条件以适应当前输出而无需重新运行完整的测试用例时很有用。
在不更改原始 class 的情况下执行此操作的最佳方法是什么?
不幸的是,这需要框架的支持。问题是 BaseRunner class 将始终自动清除输出目录,并且没有进入框架的挂钩可以让您避免这种情况。例如,您可以手动移动要重新 运行 验证的输出子目录以说 'repeat' (同一目录级别),然后使用;
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"。如果您的执行需要很长时间,这将有助于调试,但可能不希望您想要开箱即用,即 运行ner 的顶级选项仅对之前的 [=21] 执行验证=] 测试。我将为此添加一个功能请求。
自最初的讨论以来,PySys(在 v1.1.1 中)添加了一个 --validateOnly 命令行选项,它几乎按照您的建议进行操作 - 它跳过了执行方法,只是 运行s 验证。
假设您不是 运行 --purge(我认为对于这个用例来说这是一个安全的假设),并且您没有尝试从中读取零字节文件的验证命令输出目录(即使未指定 --purge 也总是被删除)。但是,假设满足这些条件,您的(非空)输出文件在您完成第一个 运行 测试后仍将存在,您可以使用 -- 重新 运行 验证仅验证命令。
要获得此功能,您可以安装最新的 PySys 版本 (1.4.0) - 请参阅 https://pypi.org/project/PySys/