java - 每次我尝试运行 JUnit 测试时,是否可以强制 Eclipse 重新编译我的文件?

标签 java eclipse testing junit

我想知道是否有办法强制Eclipse清除将要运行的测试的bin/文件夹,并重新编译所有文件?

我问这个是因为我的测试涉及删除/重命名/添加文件,这意味着目前只有第一次运行测试可以正常运行,因为从那时起它运行的文件就不同了从他们一开始的样子。

所以,我要问的不仅仅是重新编译测试文件夹中的 .java 文件,而且基本上是对测试所在的文件夹进行本地“清理”(我不想要 项目的完整清理/重新编译,因为它巨大!)。

谢谢

最佳答案

只对“测试所在的文件夹进行本地清理”似乎不太可能。

您不能确保将所有文件都写入所需目录 - 即使写入 File.createTempFile(...) 中的某些内容 - 然后在 JUnit 测试开始时对其执行删除?

实际上,这似乎正是 JUnit 的 TemporaryFolder 的用途。详情在 http://weblogs.java.net/blog/johnsmart/archive/2009/09/29/working-temporary-files-junit-47 .这也会使您的构建不那么特定于 Eclipse,并使用 Maven 等东西。

否则,只需使用 Ant 或 Maven 运行测试 - 并让它清除您需要的任何特定文件、文件夹或模式 - 然后运行 ​​JUnit。这两者都很好地集成到 Eclipse 中,并且将满足您在要测试的程序启动之前完成任务的需求 - 特别是如果您还将修改 Java 类文件,如您所述。

关于java - 每次我尝试运行 JUnit 测试时,是否可以强制 Eclipse 重新编译我的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8441159/

相关文章:

java - 将 Jasmin 集成到 Ant 和 Eclipse 中

java - 返回之前的搜索结果

ruby-on-rails - Ruby on Rails 使用外键删除固定装置

java - SWT 表单或对话框

maven-2 - 为什么添加测试 jar 会破坏此 Maven 构建?

javascript - 可以在测试 block 输出中开 Jest 输出控制台日志

java - JBoss集群: how to find/list all members forming the cluster

java - 字符串到 java.sql.Date

java - 我如何扩展 JComboBox 以允许用户通过单击 x 按钮(如 Internet 浏览器选项卡)来删除列表项?

java - Spring MVC 拦截器映射问题