当使用Emacs中的Elisp运行其测试时,我该如何评估代码?

3

我正在编写一些小谜题来学习Emacs Lisp。

然而,我的当前工作流程太过繁琐:

  1. 更改代码
  2. eval-regioneval-buffer代码
  3. 更改测试
  4. eval-regioneval-buffer测试代码
  5. M-x ert,然后按Enter键运行测试

如何设置Emacs或测试,以便我只需"运行测试",Emacs将为我评估所有的代码?

1个回答

3

您最好不要在Emacs会话中运行测试,而是在新的Emacs会话中运行测试:

(大概意思是:在测试时最好不要占用Emacs的会话继续进行其他操作,而是需要打开一个新的Emacs会话专门进行测试)

$ emacs -Q -b -l my-source-file.el -l my-test-file.el -f ert-run-tests-batch-and-exit

你可以从 M-x compile 运行这个命令。

谢谢,那基本就是我需要的。但是我需要将“-b”替换为“-batch”。 - undefined
你认为测试本身是否应该要求测试的代码?这似乎是我在其他语言中的做法。 - undefined
@jplindstrom我认为是这样,而且通常都会有相应的require。它可以清楚地将测试代码进行字节编译,从而帮助你找出错误(例如拼写错误的函数或变量等),尤其是使用Flycheck时(无耻推广 :) )。 - user355252

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接