用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 楼答案
如果该方法不打印数字,而是将数字返回给调用方,那么代码将更容易测试
如果你想测试实际的打印,你可以set a spy object to System.out而不是打印来收集数据。然后,您的测试可以断言该输出的正确性