Как указать несколько фильтров исключения в --gtest_filter?

Вы не можете изменять кортеж, но вы можете изменить содержимое вещей, содержащихся в кортеже. Списки (вместе с наборами, dicts и объектами) являются ссылочным типом , и, таким образом, «вещь» в кортеже является просто ссылкой - фактический список является изменяемым объектом, на который указывает эта ссылка и может быть изменен без изменения самой ссылки.

( + ,)       <--- your tuple (this can't be changed)
  |
  |
  v
 ['a']       <--- the list object your tuple references (this can be changed)

После thing[0][0] = 'b':

( + ,)       <--- notice how the contents of this are still the same
  |
  |
  v
 ['b']       <--- but the contents of this have changed

После thing[0].append('c'):

( + ,)       <--- notice how this is still the same
  |
  |
  v
 ['b','c']   <--- but this has changed again

Причина, по которой ошибки += заключаются в том, что она не полностью эквивалентна .append() - на самом деле это добавление, а затем назначение (и присваивание не выполняется), а не просто добавление на место .

70
задан abyss.7 24 December 2012 в 07:29
поделиться

1 ответ

См. https://blogs.msdn.microsoft.com/taxiahou/2013/07/30/the-usage-of-running-a-subset-of-tests-in-google-test-framework-gtest_filter / . Можно найти ясный пример там.

Исключения определяются '-' знак. Можно сказать несколько разделенных:. никакая потребность повторения - с:.

--gtest_filter=-*str*: Это запустит тесты, которые не содержат строку "ул."

--gtest_filter=-*str1*:*str2*: Это запустит тесты, которые не содержат или "str1" или "str2":

--gtest_filter=*str*:-*str1*:*str2*: Это запустит тесты, которые содержат ул. и которые не содержат или str1 или str2.

Так, что-либо сопровождаемое '-' будет считаться для списка исключения.

Так, в Вашем случае это будет --gtest_filter=-ABC.*:BCD.*

0
ответ дан 24 November 2019 в 11:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: