所以我的问题是,我正在 IntelliJ IDEA 中处理一个 Java 项目,在我的工作目录中,我有 12-13 个 Java 类文件。
我正在研究每个Java类,我想使用JUnit来测试我在每个类中实现的方法。
我已经为这些类之一设置了一个 testClass,但是,当我尝试运行它时,我猜 Java 会尝试编译目录中的所有内容,并且因为其他类没有实现,所以它没有完成编译.
我的问题是:对单个类方法进行单元测试而不必实现目录中的每个类的最佳方法是什么?(我来自 python 背景,所以这个问题与 Java 相关吗?)
谢谢。
最佳答案
如果您的类在您正在测试的方法中没有调用其他类的方法,那么如果编译器无法编译这些其他类,那么这应该不是问题。如果您正在测试编译的类,您应该能够运行其中的任何内容。
但是,如果您的类确实调用了尚不存在的其他类中的方法,那么您可能只想放置要调用的所有方法的“空”版本进入所需的类(class)。这将使您能够编译您想要测试的类。
如果您希望所调用的方法在单元测试中具有特定行为,以便测试调用这些方法时可能出现的某些条件,那么您应该考虑使用一个“模拟框架”。我可以很高兴地推荐 JMockit 或 Mockito(尽管我必须承认与 Mockito 开发团队有松散的联系)。
关于java - 如何使用 JUnit 对一个 Java 类中的方法进行单元测试,而无需完成模块中的其他类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28468611/