不幸的是,我们有一些单元测试创建了内存映射的 NIO 文件,这些文件无法被创建它们的进程删除(某些 Windows 问题)。
无论如何,我想在这些测试之后进行某种清理,无论它们是否通过。我打算在 prepare-package 阶段运行一个小 ant 脚本,但如果任何测试失败,surefire 会立即退出。
除了使用具有后测试阶段的 failsafe 插件之外,是否有任何聪明的方法可以运行我的清理,无论通过或失败?
我怀疑不是 - 我已经完成了所有surefire配置选项...
编辑:内存映射的 nio 文件 cannot在同一进程中删除,甚至可以通过deleteOnExit删除。
最佳答案
您应该将您想要执行的操作绑定(bind)到集成测试后生命周期阶段,该阶段在由 maven-failsafe-plugin 处理的集成测试阶段之后运行。 。如果您配置 maven-clean-plugin 来执行此操作,它可能会起作用。
关于java - 在 Maven/Surefire 中,无论单元测试是否通过,清理后的清理工作有什么好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11996027/