在Ruby特别是RSpec中,您可以告诉测试运行程序在没有通过命令行标志--fail-fast的第一个测试中中止。在连续修复大量测试时,这有助于避免浪费时间或失去注意力,例如,在进行测试驱动或行为驱动的开发时。
现在,在使用ExUnit的灵丹妙药上,我正在寻找一种方法来做到这一点。有办法这样做吗?
发布于 2020-01-16 17:44:28
发布于 2018-05-23 13:19:26
发布于 2018-05-23 14:23:25
这没有多大意义,因为Elixir中的测试是( a)要以惊人的速度运行,b)在大多数情况下是异步运行的。在失败的测试中立即终止测试套件是一种反模式,这就是为什么ExUnit作者不允许使用它。
一个人仍然可以选择射击他们自己的腿:只需为EventManager实现一个自定义处理程序,并在“测试失败”事件中终止整体应用。
对于BDD,最好使用tags,运行测试套件时只包含此特性。这样,您就可以在将来的任何时候运行每个特性的测试。
另外,作为最后一种手段,只有将文件名传递给mix test和/或仅通过传递文件名、后跟冒号和行号才能运行特定的情况。
https://stackoverflow.com/questions/50488592
复制相似问题