有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用main方法编写Java单元测试

我班上有几种方法

public class StringChecking
{
public static void main(String[] args);
public void stringChecker(String text, int number); //takes a string and prints that out. 
}

我想编写单元测试来测试“stringChecker()”方法。我在想我该怎么做。当我在JUnit测试类中创建StringChecking类型的对象时,我似乎无法从该实例访问stringChecker()方法

StringChecker方法根据参数打印传入文本的特定字数。我想看看打印出来的前10个单词是否与预期结果相同

JUnit测试类

String expected = "My name is";
asserEquals(expected, actual);

我猜我必须让我的stringChecker方法返回一些东西,以便进行检查。但我不明白为什么我不能从测试类访问这个方法


共 (1) 个答案

  1. # 1 楼答案

    如果该方法不打印数字,而是将数字返回给调用方,那么代码将更容易测试

    如果你想测试实际的打印,你可以set a spy object to System.out而不是打印来收集数据。然后,您的测试可以断言该输出的正确性