用于检查参数的 JUnit 测试用例
JUnit test case for checking arguments
已编辑
我正在学习如何使用 JUnit 编写测试用例。免责声明:我不了解我在网上找到的任何关于此的内容。 :)
我想为此写一个简单的测试用例:
我有一个简单的 Java class 接受参数作为主函数的参数并打印它。此代码没有更多内容。
编辑:
这是我的主要功能:
public static void main(String args[]) {
//Expecting 3 arguments: 1. InputDirectory path, 2. OutputDirectory path, 3. Keys-comma separated
checkArguments(args);
.....
private static void checkArguments(String[] args) {
// TODO Auto-generated method stub
if (args.length != 3) {
try {
System.out.println("Invalid input arguments");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return;
}
}
}
这个主要功能代码运行良好。现在我需要编写一个测试用例,以便检查有多少输入并相应地打印消息。
到目前为止,我已经写了这个:
FilterProcessPDK checkArg = new FilterProcessPDK();
int testCheckArgRes = checkArg.checkArguments(); //I dont know how to pass the arguments to this function
@Test
public void testCheckArgs(){
assertEquals("message", expected, actual);
}
为此,我将给出输入- 1) 输入路径 (C:/xyz/input) 2) 输出路径 (C:/xyz/output) 3) 任意数量 "keys"("A" 或 "A, j")
自 1998 年我第一次意识到 Junit 以来,我一直在用它编写测试,但我从未见过这样的测试。
我觉得不合适
我不得不承认我通常不测试主要方法。它应该是在编排我测试过的一堆其他东西。当我到达主要方法时,我已经有了足够的覆盖率和信心,我没有测试输入和输出问题。
更好的解决方案是按合同编程:让您的主要方法对它需要的输入强制执行 pre-conditions。如果用户提供了错误的输入,请告知他们。
已编辑 我正在学习如何使用 JUnit 编写测试用例。免责声明:我不了解我在网上找到的任何关于此的内容。 :) 我想为此写一个简单的测试用例: 我有一个简单的 Java class 接受参数作为主函数的参数并打印它。此代码没有更多内容。 编辑:
这是我的主要功能: public static void main(String args[]) {
//Expecting 3 arguments: 1. InputDirectory path, 2. OutputDirectory path, 3. Keys-comma separated
checkArguments(args);
.....
private static void checkArguments(String[] args) {
// TODO Auto-generated method stub
if (args.length != 3) {
try {
System.out.println("Invalid input arguments");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return;
}
}
}
这个主要功能代码运行良好。现在我需要编写一个测试用例,以便检查有多少输入并相应地打印消息。 到目前为止,我已经写了这个:
FilterProcessPDK checkArg = new FilterProcessPDK();
int testCheckArgRes = checkArg.checkArguments(); //I dont know how to pass the arguments to this function
@Test
public void testCheckArgs(){
assertEquals("message", expected, actual);
}
为此,我将给出输入- 1) 输入路径 (C:/xyz/input) 2) 输出路径 (C:/xyz/output) 3) 任意数量 "keys"("A" 或 "A, j")
自 1998 年我第一次意识到 Junit 以来,我一直在用它编写测试,但我从未见过这样的测试。
我觉得不合适
我不得不承认我通常不测试主要方法。它应该是在编排我测试过的一堆其他东西。当我到达主要方法时,我已经有了足够的覆盖率和信心,我没有测试输入和输出问题。
更好的解决方案是按合同编程:让您的主要方法对它需要的输入强制执行 pre-conditions。如果用户提供了错误的输入,请告知他们。