我认为这将是一个微不足道的问题,但我似乎无法在Java中找到类似于class_exists
的方法。我正在编写一个测试来验证是否定义了类名。如何使用jUnit在Java中复制它?
<?php
$this->assertTrue(class_exists('Car'), 'Should have a class called "Car"');
TestCar.java
import org.junit.Assert;
import org.junit.Test;
public class TestCar {
@Test
public void testCarExists() {
try {
Class.forName("Car");
} catch(ClassNotFoundException e) {
Assert.fail("Should create a class called 'Car'.");
}
}
}
Car.java
public class Car {
// just enough :-)
}
答案 0 :(得分:5)
Java的一个优点是你有一个编译器,所以通常这是一个非问题。如果你正确编译你的代码,然后由于某种原因,从运行时环境中删除一个必需的jar文件,你将得到一个java.lang.ClassNotFoundException
,这样就足够了。
如果您想要超级安全,可以尝试拨打Class.forName
:
@Test
public void testClassExists {
try {
Class.forName("org.mypackage.Car");
} catch (ClassNotFoundException e) {
Assert.fail("should have a class called Car");
}
}