用于exunit测试用例的可覆盖宏

时间:2018-02-13 04:46:15

标签: testing elixir phoenix-framework ex-unit

我正在为我的应用程序编写测试用例,并且我的大多数控制器都包含CRUD的公共代码,所以我编写了常见的宏并在我的控制器中使用它。所有控制器的测试用例都将自动写入。但我很困惑如何使这个公共代码可以覆盖,以便我可以随时覆盖。

pip install jf
jf 'filter(date(x.date).weekday() > 4)' file.json

任何帮助/想法如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

我一般不喜欢“让我们以后再撤消它”。它通常会迫使开发人员在以后添加和删除内容的方式保持堆叠。

特别是在这种情况下,您将耦合测试名称。想象一下有人决定将“一,二,全”大写的“两个”。现在所有未来的覆盖都不适用,您将有重复的测试。

明确选择您需要的更好的解决方案。例如,您可以定义必要时使用的较小宏:

describe_create!
describe_update!
...
describe_delete!

也许你可以让describe_restful!调用所有这些。这里的教训是建立一个小的构建块,而不是在以后尝试分解的大块。

PS:请使用比我使用的describe_x更好的名字。 :)