Java 当预期出现异常时,针对多个参数的单个JUnit将执行Null检查
我正在为我的代码编写单元测试用例,其中我有一个方法,它接受7个不同的参数。示例方法如下所示:Java 当预期出现异常时,针对多个参数的单个JUnit将执行Null检查,java,unit-testing,junit,Java,Unit Testing,Junit,我正在为我的代码编写单元测试用例,其中我有一个方法,它接受7个不同的参数。示例方法如下所示: public boolean registerUser(String firstName, String lastName, String dob, String email, String phone, String gender, String country) throws MyException { if(firstName == null){ throw MyException(
public boolean registerUser(String firstName, String lastName, String dob, String email, String phone, String gender, String country) throws MyException {
if(firstName == null){
throw MyException();
}
if(lastName == null){
throw MyException();
}
// SO ON.....
// EACH PARAMETER WILL BE NULL CHECKED SEPARATELY AS WE NEED TO KNOW WHICH PARAMETER WAS PASSED NULL.
// IN CASE OF ANY NULL PARAMETER, A CUSTOM EXCEPTION IS THROWN AS ABOVE.
// IMPLEMENTATION CODE HERE TO CALL SOME WEB SERVICE AND REGISTER USER.
}
现在我的问题是,我正在为这个特定的方法编写测试用例。在同一个类中,我有大约10个其他方法用于不同的用户操作
所以在本例中,如果我需要在单个JUNIT测试用例中检查null参数,这样我的junits计数就不会因为很多参数而变高
有没有办法在junit上写入所有参数的空检查
谢谢单独测试有什么问题?对我来说这是最干净的方法,没什么错。但是,如果我为每个参数空检查编写单独的测试用例,那么对于这个方法,我将有7个测试用例,它们只用于空检查。此外,还将有其他测试用例用于阴性/阳性反应。对于一个方法测试用例来说,这个计数不是太高了吗?当然,您可以编写一个测试用例来检查方法中的空检查(使用try-catch块)。但正如TrueDub所说,最干净的方法是进行单独的测试。拥有大量的测试用例是没有问题的。更多的测试提供了更多的覆盖范围,并且使得以后扩展测试更容易——例如,如果其中一个if语句需要做额外的工作,那么在单独的测试中就更容易确定这一点。