PAssert не совпадает в строке - PullRequest
0 голосов
/ 21 марта 2019

Я тестирую функцию Google Cloud Dataflow Pipeline следующим образом:

@Test
  public void testOutputExceptionsToFile() {
    Logger logger = (Logger) LoggerFactory.getLogger(EligibilityQueryRunner.class);
    ListAppender<ILoggingEvent> listAppender = new ListAppender<>();
    listAppender.start();

    // add the appender to the logger
    logger.addAppender(listAppender);

    // Create test data
    TableRow[] inputTrs = new TableRow[]{TestFixtures.campaignTableRow3};

    // Create an input PCollection.
    PCollection<TableRow> input = p.apply(Create.of(Arrays.asList(inputTrs)));

    // Apply the Count transform under test.
    PCollectionTuple output = input.apply(new RunQueriesTransform());
    PCollection<String> strs = output.get(exceptionOutput);

    Assert.assertTrue(output.has(exceptionOutput));

    List<String> outputList = Arrays.asList("abcd");

    PAssert.that(strs).containsInAnyOrder(outputList);

    // Run the pipeline.
    p.run().waitUntilFinish();

  }

Однако тест не пройден со следующим выводом:

[error] Expected: iterable over ["abcd"] in any order
[error]      but: Not matched: "abcd", took 4.712 sec
[error]     at org.apache.beam.sdk.testing.PAssert$PAssertionSite.capture(PAssert.java:168)
[error]     at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:392)
[error]     at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:384)
[error]     at 

Почему содержимоеInInnyOrder может не совпадать, если выходные данные ясно показывают, что строки совпадают?

1 Ответ

0 голосов
/ 21 марта 2019

Я думаю, что он пытается сопоставить строку "abcd", но вы даете список строки ["abcd"].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...