【发布时间】:2015-06-27 22:56:21
【问题描述】:
我有一个带有构造函数的类,它的输入如下:
public class Project {
public Project(Parameter1 par1, Parameter2 par2 ...) {
//here if one incoming parameters equals null - throw exception
}
}
问题是如何在一个测试中测试针对不同参数引发的异常?比如:
@Test
publci void testException() {
Project project1 = new Project(null, par2 ....);//here it throws exception and test is finished((((
//I want it to continue testing project2
Project project2 = new Project(par1, null ...);
}
【问题讨论】:
-
这对我来说是正确的。它给你带来了什么问题?
-
我的班级有5个参数输入承包商。我想在一次测试中测试它们。项目 2、项目 3 等等。一开始不要停止,而是验证在所有情况下项目都会抛出异常。这就是问题所在。
-
我不确定这是否可能。通常,您会发现需要多次测试才能完全测试一个函数。
-
虽然您可以将每个调用包装在
try-catch块中,但您确实不应该在一个方法中测试多个构造函数。为什么不创建多个方法,每个方法都相应命名,例如constructWithNullParam2ShouldthrowNPE()等 -
我认为这不是一个好主意。如果我的构造函数有 100 个参数但只有一个检查 If 结构?在一个测试中测试 if 更广泛,而不是进行 100 次测试来测试同一件事。没有?