我试图使用歧管插件如下:
@Test
void printBoard() {
@JailBreak TicTacToe game = new TicTacToe();
game.printBoard();
assertEquals("- ,- ,-rn- ,- ,-rn- ,- ,-", outputStreamCaptor.toString()
.trim());
}
我想添加一些更多的断言,测试板是否正确打印后,我改变游戏中的私有板变量(这就是为什么我想使用越狱注释。
我已经安装了插件在Intellij通过去设置>插件比;搜索流形>安装/应用它。然后我重新启动了我的IDE,没有运气(编译器不识别@越狱)。
有谁知道哪里出了问题吗?如果有帮助的话,我正在使用Java8。
Manifold插件分析你的项目的构建配置来动态应用特性,比如通过@Jailbreak支持类型安全反射。请参阅manifold-ext设置说明。用Gradle的术语来说,要支持@Jailbreak,你的项目必须在manifold-ext-rt
上有一个implementation依赖,在manifold-ext
上有一个annotationProcessor依赖。此外,您需要添加-Xplugin:Manifold
编译器参数。这些信息在安装文档中有详细说明。
如果你没有使用Gradle或Maven,你可以在模块的依赖项设置中直接使用Manifold二进制文件配置你的IntelliJ项目。您还需要通过File | Settings | Build, Execution, Deployment | compiler | Java compiler直接设置编译器参数(-Xplugin:Manifold
和-processorpath
)。