System.out.println("\n\n" + turn.getTag() + " please enter the column number, 1-7, \n"
+ "where you would like to drop your game piece. ");
boolean colCorrect = false;
int column = -1;
while (!colCorrect){
if(Connect4TextConsole.in.hasNextInt()){
column = Connect4TextConsole.in.nextInt();
colCorrect = true;}
else{ System.out.println("Please enter a number 1 through 7.");
Connect4TextConsole.in.next();}}
while(column < 1 || column > 7) {
System.out.println("Please enter a number 1 through 7.");
column = Connect4TextConsole.in.nextInt();
}
return column - 1; // subtract one to account for array starting at zero
}```
在测试代码时,您不需要测试Java的API:您可以假设scanner
工作(例如)。
最灵活的实现方法可能是将扫描程序
注入到处理用户输入的类中,然后在测试代码中模拟该扫描程序:
class InputHandler {
private final Scanner input;
public InputHandler(Scanner input) {
this.input = input;
}
public void nextChoice() {
int choice = input.nextInt();
...
}
}
那么您的生产代码将如下所示:
InputHandler inputHandler = new InputHandler(new Scanner(System.in));
@Test void option2() {
Scanner input = mock(Scanner.class);
when(input.nextInt()).thenReturn(2);
InputHandler testHandler = new InputHandler(input);
...
}
@Test void illegalInput() {
Scanner input = mock(Scanner.class);
when(input.nextInt()).thenThrow(InputMismatchException.class);
InputHandler testHandler = new InputHandler(input);
...
}
@Test
void testChoicePrompt() {
Scanner input = mock(Scanner.class);
PrintStream output = mock(PrintStream.class);
InputHandler inputHandler = new InputHandler(input, output);
inputHandler.nextChoice();
verify(output).println("Enter choice:");
}
我有一个程序,显示与名称和用户需要输入他们的字段。我怎么测试这个? AssertionError:JSON路径“$.FirstName”处没有值,异常:JSON不能为null或空 我的测试: storetest.java
我必须为一个调用API然后处理响应的类编写测试。类有两个公共函数和一个私有函数。第一个公共方法获取ID列表。在循环中为每个ID调用第二个公共方法,以获取与ID关联的详细信息。私有方法是在第二个公共方法内部调用的,因为获取基于id的详细信息的调用是异步进行的。 我是JUnits的新手,虽然我知道我不应该测试API调用,只是测试我的函数,但我仍然不明白单元测试应该断言什么。
在我的项目(spring boot应用程序)中,我有大约200个测试用例。最近,我们为缓存管理器(ehcache)实现了一个工厂bean,它位于我的启动类(@SpringBootApplication)中。 我的问题是,一旦带有工厂bean的启动类被一个测试用例执行,所有后续的测试用例都会失败,并出现错误。。。 “同一个VM中已存在另一个同名“appCacheManager”的CacheManag
我尊敬的java开发者朋友们。我正在尝试测试并覆盖克隆方法的捕获块。我已经浪费了一个星期,但没有找到任何解决方法来弥补这个障碍。请帮帮我。 我的源代码- 我的Junit测试用例- 我已经为图片提供了链接,这将使我对这个问题和我所做的尝试有更多的了解。 源代码- 我尝试过的junit-
我正在尝试为这样的情况编写测试用例,在这个情况下,我期待的是datatruncation异常,我试图使用assert equals和比较消息来断言相同的情况,但是看起来像是比较两个字符串,有没有更好的方法来为这样的异常编写测试用例。 我正在使用JUnit5
问题内容: 我可以为以下代码编写的最 详尽的 测试是什么? 此方法在类内。该方法调用JpaRepository,然后在实体上调用其方法。 如果无法测试是否要删除实体,是否可以在该方法上运行 其他 任何功能? 问题答案: 有两种测试策略。一种是单元测试,即确保您的服务正常运行。另一个是集成/端到端测试,即确保所有功能都能很好地协同工作。 您对自己拥有的东西进行单元测试,对所有内容进行集成测试。这是一