我试图为一种特定方法编写JUnit测试时遇到了一个问题。我搜索了可能的解决方案,但由于输出不依赖于输入,因此它们中的许多都无济于事。任何帮助将不胜感激。
我的类方法看起来像这样:
public static void method1() {
Scanner input = new Scanner(System.in);
String state = input.nextLine();
if( /* condition dependent on state value */ ) {
System.out.println("...");
}
else {
System.out.println("..."+state+"...");
}
如何为它编写一个JUnit测试,Robot类可以以某种方式解决问题吗?
如果将逻辑提取到类似的单独函数中,则>]
public static void method1() { Scanner input = new Scanner(System.in); String state = input.nextLine(); System.out.println(processingLogic(state)); } static String processingLogic(String state) { if ( /* condition dependent on state value */) { return "some value"; } else { return "some other value"; } }
您可以为该功能编写单元测试,以确保其正常工作。