如何编写代码来测试另一个类的代码?

时间:2016-05-02 05:24:45

标签: java string testing reverse

所以我应该编写代码来测试一个测试类的方法但是我完全迷失了。我想我是否只是想纠正常规代码,比如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);

4 个答案:

答案 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"));

并且还需要使反向字符串方法保持静态。 如果您在控制台中看到了预期的结果,那么您的方法就可以正常工作。