Emacs ERT测试顺序是否可以更改?

Emacs ERT测试顺序是否可以更改?,emacs,ert,Emacs,Ert,我注意到Emacs中的ERT测试(ERT运行测试批处理和退出)是按名称(我指的是顺序)执行的。 我可以按照定义测试的顺序执行测试吗 例如: (ert-deftest test-2 ... (ert-deftest test-1 ... 将首先执行“测试-2”,然后执行“测试-1” PS:我知道测试不应该依赖顺序,但仍然需要它。据我所知,您不能告诉ERT按照定义顺序执行测试。但是,您可以指定手动执行测试的顺序,方法是将适当的选择器参数传递给ERT函数以运行测试。您可以通过执行以下操作以交互方式尝

我注意到Emacs中的ERT测试(
ERT运行测试批处理和退出
)是按名称(我指的是顺序)执行的。
我可以按照定义测试的顺序执行测试吗

例如:

(ert-deftest test-2 ...
(ert-deftest test-1 ...
将首先执行“测试-2”,然后执行“测试-1”


PS:我知道测试不应该依赖顺序,但仍然需要它。

据我所知,您不能告诉ERT按照定义顺序执行测试。但是,您可以指定手动执行测试的顺序,方法是将适当的
选择器
参数传递给ERT函数以运行测试。您可以通过执行以下操作以交互方式尝试此操作:

M-x
ert
RET
(成员测试-2测试-1)
RET

您可能希望使
test-2
test-1
暂时失败,以便验证ERT是否按照指定的顺序运行它们

现在,基于您在问题中提到的
ert运行测试批处理并退出
,我假设您希望从命令行运行测试。以下命令将执行您想要的操作(其中
是包含测试的文件的名称):

有了此功能,您可以通过以下方式从命令行运行测试:

emacs -batch -l ert -l <test-file> --eval "(ert-run-tests-batch-and-exit test-order)"
emacs-batch-l ert-l--eval“(ert运行批测试并退出测试顺序)”

如果您想先进行一个特定的测试,然后进行其他测试:
(或第一个测试t)
emacs -batch -l ert -l <test-file> --eval "(ert-run-tests-batch-and-exit test-order)"