测试运行时行为已有详细记录,但随着强大的类型系统和宏系统的出现,人们可能对测试编译时行为感兴趣。
例如,在编写提供编译时保证的库时。假设我正在构建一组测试匹配器,并且我希望确保匹配器的类型安全性与我声称的一样。
List(1,2) must beEqualTo(Set(1,2)) // should fail at compile-time
我在scala编译器项目中可以看到,大多数测试都是功能测试,通过将编译器输出与参考文件进行比较来确定编译器输出。 这样的测试是否有约定?一个SBT插件?
由于