所以我应该编写代码来测试一个测试类的方法但是我完全迷失了。我想我是否只是想纠正常规代码,比如for循环,或者我是否能够以另一种方式做到这一点。我是java的新手,这给我带来了很多麻烦!
以下是我必须测试的界面中的一种方法:
// Returns a reversed version of the specified string,
// which can contain any ASCII character.
// For example, returns "edcba" for "abcde"
public String reverseString(String s);
答案 0 :(得分:1)
您可以用来测试代码的工具是assert
关键字:
String str = "Hello World!";
assert str.equals("42") : "Not 42!"; // will throw an exception
如果 exp1 评估为assert exp1 : exp2
,则 java.lang.AssertionError
会抛出false
。 exp2 ,这是可选的,将是该错误的消息。
即:
Exception in thread "main" java.lang.AssertionError: Not 42!
默认情况下,断言不会打开。运行程序时,需要将-ea
作为VM参数传递。
java <VM args> <Main class name> <program args>
e.g:
java -ea Main
如果您不想重新发明轮子,我建议JUnit作为测试框架。它有很多工具可以帮助编写测试代码。它也被广泛使用,因此很容易找到有关的教程。
答案 1 :(得分:0)
这个想法很简单:用各种参数调用方法,并检查结果是否符合您的期望。像JUnit这样的框架将有助于组织测试代码,但你也可以不用。
答案 2 :(得分:0)
这是一个简单的测试:
String test = "abcde";
String reverse = reverseString(test);
if (reverse.equals("edcba"))
{
// test passed
}
else
{
// test failed
}
答案 3 :(得分:0)
这很简单。您需要通过执行以下操作来调用方法:
System.out.println(reverseClass.reverseString("Whatever String You Like"));
并且还需要使反向字符串方法保持静态。 如果您在控制台中看到了预期的结果,那么您的方法就可以正常工作。