【问题标题】:generate classes from java test从 java 测试生成类
【发布时间】:2010-03-03 08:48:07
【问题描述】:

我编写了一个 java 测试,并从 run as junit test 运行它 在我的项目中,使用“.class”文件创建了一个 bin 文件夹 当我编写一个 shell 以通过命令行启动相同的测试(带有一些 modif)时,它会在不考虑我的 modif 的情况下启动测试,测试是否使用生成的 .class ? 我可以删除这个“.class”并通过命令行启动测试吗? 当我通过命令行启动它时,会生成“.class”吗?还是我应该添加一些东西来编译测试? 谢谢

【问题讨论】:

    标签: java class testing


    【解决方案1】:

    当您从 IDE 运行测试时,您的项目(java 源文件)很可能会在运行之前自动编译。如果你想从命令行运行它,你需要先使用 javac 编译源代码。

    【讨论】:

      【解决方案2】:

      在您的脚本中,您应该添加对javac(Java 编译器)的正确调用,以便在调用java(Java 运行时环境)运行您的测试之前重新编译您的(源代码和测试)类。 IDE 会自动为您执行此操作。

      如果您的测试类位于test 目录下,编译您的类的命令将如下所示(如果您依赖外部 jar,您可能还需要添加类路径):

      javac -sourcepath test *.java -d bin
      

      这里是关于javac parameters on Linux/Solaris 的参考,并附有示例。

      【讨论】:

      • 我已经添加了这个: -java () -classpath () path to project/bin org.junit.runner.JUnitCore package.classs
      • @lamisse javajavac 是两个不同的程序 - 请参阅我的更新。
      • 我的问题来自 Linux,当我在删除生成的 .class 后通过命令行启动时,它说没有找到 calss,当我通过命令行启动它编译测试所以生成.class 关联到测试,非 ?
      • 所以在我的命令行中我应该有 -javac (java bin 的路径) -classpath() org.junit.runner.JUnitCore package.classs ?
      • @lamisse 在命令行上,删除 .class 文件后,您必须调用 javac 再次编译您的源代码,然后再尝试使用 java 运行它们。否则会出现上述错误。
      猜你喜欢
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 2018-10-07
      • 2014-11-24
      • 2018-03-15
      • 1970-01-01
      • 2019-08-11
      相关资源
      最近更新 更多