如何解决JUnit 参数化测试随机失败
我有以下参数化测试
@ParameterizedTest
@ValueSource(strings = {
"[1;1f[?25l","[K[K\n","[0m 8 [48;2;142;142;142m[38;2;0;0;0m ♜ [48;2;204;204;204m[38;2;0;0;0m ♞ [48;2;142;142;142m[38;2;0;0;0m ♝ [48;2;204;204;204m[38;2;0;0;0m ♛ [48;2;142;142;142m[38;2;0;0;0m ♚ [48;2;204;204;204m[38;2;0;0;0m ♝ [48;2;142;142;142m[38;2;0;0;0m ♞ [48;2;204;204;204m[38;2;0;0;0m ♜ [0m Board value: 0","[K[0m 7 [48;2;204;204;204m[38;2;0;0;0m[1m ♙ [48;2;142;142;142m[38;2;0;0;0m[1m ♙ [48;2;204;204;204m[38;2;0;0;0m[1m ♙ [48;2;142;142;142m[38;2;0;0;0m[1m ♙ [48;2;204;204;204m[38;2;0;0;0m[1m ♙ [48;2;142;142;142m[38;2;0;0;0m[1m ♙ [48;2;204;204;204m[38;2;0;0;0m[1m ♙ [48;2;142;142;142m[38;2;0;0;0m[1m ♙ [0m Player 1 taken:","[K[0m 6 [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [0m Player 2 taken:","[K[0m 5 [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [0m","[K[0m 4 [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [0m","[K[0m 3 [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [48;2;204;204;204m[38;2;0;0;0m [48;2;142;142;142m[38;2;0;0;0m [0m","[K[0m 2 [48;2;142;142;142m[38;2;255;255;255m[1m ♙ [48;2;204;204;204m[38;2;255;255;255m[1m ♙ [48;2;142;142;142m[38;2;255;255;255m[1m ♙ [48;2;204;204;204m[38;2;255;255;255m[1m ♙ [48;2;142;142;142m[38;2;255;255;255m[1m ♙ [48;2;204;204;204m[38;2;255;255;255m[1m ♙ [48;2;142;142;142m[38;2;255;255;255m[1m ♙ [48;2;204;204;204m[38;2;255;255;255m[1m ♙ [0m","[K[0m 1 [48;2;204;204;204m[38;2;255;255;255m ♜ [48;2;142;142;142m[38;2;255;255;255m ♞ [48;2;204;204;204m[38;2;255;255;255m ♝ [48;2;142;142;142m[38;2;255;255;255m ♛ [48;2;204;204;204m[38;2;255;255;255m ♚ [48;2;142;142;142m[38;2;255;255;255m ♝ [48;2;204;204;204m[38;2;255;255;255m ♞ [48;2;142;142;142m[38;2;255;255;255m ♜ [0m","[K A B C D E F G H","1: Player 1's Turn: "
})
void showBoardShouldReturnProperBoardRepresentationForBasicBoardWhenScreenFileIsFalse(String line) throws IOException {
// given
java.util.HashMap<String,String> options = new java.util.HashMap<>();
Main.options = options;
ChessConfig config = new ChessConfig("");
config.loadConfiguration();
Main.config = config;
PrintStream originalOut = System.out;
ByteArrayOutputStream bo = new ByteArrayOutputStream();
System.setout(new PrintStream(bo));
// when
Main.showBoard(new LiteBoard(),null,new LiteMinimax("",6,0),true);
bo.flush();
String resultPrinted = new String(bo.toByteArray());
// then
System.setout(originalOut);
assertTrue(resultPrinted.contains(line));
}
它在单独运行时有效,但在我与其他测试一起运行时一直失败。我发现第三个字符串正在被评估为下一个
[K[0m 7 [48;2;204;204;204m[38;2;0;0;0m[1m ? [48;2;142;142;142m[38;2;0;0;0m[1m ? [48;2;204;204;204m[38;2;0;0;0m[1m ? [48;2;142;142;142m[38;2;0;0;0m[1m ? [48;2;204;204;204m[38;2;0;0;0m[1m ? [48;2;142;142;142m[38;2;0;0;0m[1m ? [48;2;204;204;204m[38;2;0;0;0m[1m ? [48;2;142;142;142m[38;2;0;0;0m[1m ? [0m Player 1 taken:
我改变了它,但它仍然失败。我正在使用 Eclipse,并且棋盘(这是我正在尝试重构的来自 Web 的国际象棋游戏)以这种格式显示。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。