如何测试Scala宏?

Mar*_*ing 11 scala scala-macros

在scala宏上执行测试的建议方法是什么?

我意识到由于需要单独编译,需要两个项目.如有必要,此步骤可以接受并且大部分都是清楚的.

但是,如何断言宏扩展失败呢?如果没有一些特殊功能,测试用例将无法编译,因此整个测试项目将无法编译.

我认为这个断言需要另一个形式的宏

errors(code: => _): List[CompileError]
Run Code Online (Sandbox Code Playgroud)

它返回内部宏的编译错误.如果他们应该发出警告,那么测试警告也是必需的......等等......

Scala宏是否有一些现有的测试工具?