0

我有以下参数化测试

    @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), 0, 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 的国际象棋游戏,我正在尝试重构)以这种格式显示。

4

0 回答 0