我想测试某个异常是用EOFException
作为JUnit测试方法的某个部分中的异常原因抛出的。
测试方法本身不应该抛出异常--只是它的一个特定部分。
...
try {
MyClass.staticMethod();
} catch (MyException e) {
Assert.assertEquals(e.getCause().getClass(), EOFException.class);
}
...
// other asserts
catch-exception库的第2版(当前处于dev模式)允许您使用Lambda表达式,因此也可以使用静态方法调用。
catchException(() -> MyClass.staticMethod());
assert caughtException() instanceof EOFException;
主要内容:1. 运行时异常,2. 检查异常在本教程中,我们将演示如何使用TestNG expectedExceptions来测试代码中的预期异常抛出。 创建一个名称为 ExpectedExceptionTest 的 Maven 工程,其结构如下所示 - 1. 运行时异常 此示例显示如何测试运行时异常。 如果方法抛出一个运行时异常 — ,它会获得通过。 创建一个测试文件:TestRuntime.java ,其代码如下所示 - 运行上面代码,
我构建了一个有3个属性的帐户类:余额、所有者、acctNo。帐户类有2个构造函数,一个接受3个属性,一个不接受数据。帐户类有设置和获取方法以及存款和取款方法。 我还构建了一个类,该类从类扩展而来。将此类修改为类后,取款方法或此方法尝试将余额设置为零以下,将抛出。 JUnit测试人员修改测试方法,将尝试提取超过当前余额的可用,所以做测试方法。我需要修改JUnit测试透支帐户,以便它捕获异常,并捕获。
问题内容: 我真的是java的新手。 我正在构造函数上运行一些JUnit测试。构造函数是这样的:如果为其参数之一赋予null或空字符串,则应该抛出异常。 当我在JUnit中使用null或空字符串参数测试此构造函数时,即使我几乎100%确信将此类参数传递给它时,构造函数方法确实会引发异常,我也会看到一条红色的条。 如果该方法以预期的方式引发异常,则JUnit中是否应该没有绿色的条形?还是当异常抛出按
问题内容: 编辑:目前没有JUnit 4。 嗨,您好, 我对使用JUnit进行“智能”异常测试有疑问。目前,我这样做是这样的: 如您所见,对于每个应该引发异常的函数,我都需要一个try / catch块。似乎不是执行此操作的好方法-还是没有可能减少try / catch的使用? 问题答案: 我建议您需要分解为多个单独的测试。各个try / catch块似乎彼此非常独立。您可能还希望将通用初始化逻辑
问题内容: 我有一个测试类,其中包含几种典型的测试方法,这些方法可以进行断言或检查异常,并带有注释。它们在我在Ant任务中调用以下指令时运行: 但是,在同一堂课中,我想提出几种基准性能方法,这些方法未包含在必须通过的测试中。我想要一个完全独立的Ant任务来运行这些基准测试。 有没有注释的方法介绍这种测试分类并分别调用每个类别?例如,带注释的方法将是第一类,然后虚构的方法将仅记录用于诊断报告的性能指
是否有一种带注释的方法来引入这种测试分类并分别调用每个类别?例如。注释方法将是第一类,然后虚构的方法将只是用于诊断报告的日志性能指标,而不是执行决定成败的断言。我认为测试类是定位这些基准测试方法的最佳方式,但我不知道如何在Ant中封装它们的调用,以便它们单独运行。例如,是否可以在每个方法前缀“benchmark”,并告诉Ant只运行前缀有该前缀的方法,或者我可以编写自己的注释?