Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JUnit3多个参数_Java_Junit - Fatal编程技术网

Java JUnit3多个参数

Java JUnit3多个参数,java,junit,Java,Junit,需要Junit测试方面的帮助。 我有一个方法如下 public static boolean updateBook(int id, String name, String author, String libraryNum, String isbn, String refNum, String year) 它对数据库表进行更新,但我需要测试字符串参数是否大于1个字符且小于21个字符。努力找到合适的文档来帮助我。谁能给我指出正确的方向吗 public void test0

需要Junit测试方面的帮助。 我有一个方法如下

public static boolean updateBook(int id, String name, String author,
            String libraryNum, String isbn, String refNum, String year)
它对数据库表进行更新,但我需要测试字符串参数是否大于1个字符且小于21个字符。努力找到合适的文档来帮助我。谁能给我指出正确的方向吗

public void test0003(){
        DaoBook testObject = new DaoBook();
        try {
            assertEquals(true, testObject.updateBook(1, ?, ?, ?, ?, ?, ?));
        } catch (DaoBookExceptionHandler e) {
            fail("Should not reach here ... no exception expected");
        }
    }
我可以为上面的问号输入什么来测试字符串是否包含至少1个字符

public void test0004() {
        DaoBook testObject = new DaoBook();
        try {
            assertEquals(true, testObject.updateBook(Integer.MAX_VALUE, ?,
?, ?, ?, ?, ?));
        } catch (DaoBookExceptionHandler e) {
            fail("Should not reach here ... no exception expected");
        }
    }
类似地,在这里,我可以为测试字符串不超过21个字符的问号添加什么


提前谢谢你的帮助。抱歉,如果我说得不清楚,第一次用户对每个参数进行2次测试:一次测试为空字符串,另一次测试的字符串长度超过21个字符

例如“name”参数

public void test_NameEmpty() {
    DaoBook testObject = new DaoBook();
    try {
        assertEquals(true, testObject.updateBook(1, "", "valid", "valid", "valid", "valid", "valid"));
    } catch (DaoBookExceptionHandler e) {
        fail("Should not reach here ... no exception expected");
    }
}

public void test_NameTooLong() {
    DaoBook testObject = new DaoBook();
    try {
        assertEquals(true, testObject.updateBook(1, "0123456789012345678901", "valid", "valid", "valid", "valid", "valid"));
    } catch (DaoBookExceptionHandler e) {
        fail("Should not reach here ... no exception expected");
    }
}

(每个字符串参数的etc)

哪里有问题?您不知道您必须在
中输入什么?它是外部代码还是您的?您真的确定要在JUnit中进行测试吗?JUnit测试代码是否工作,而不是值是否正确。您可以测试DAO中的任何验证是否有效,因此只需在测试中输入一个空字符串或null,或长度超过21个字符的字符串。字符串参数大于1但小于21个字符。是否要测试参数的长度?或者,您想测试当任何字符串参数的长度超出预期范围时,
updateBook
如何执行?