Как я могу сбросить какао NSSearchField программно?

Почему бы не использовать ExUnit.CaptureLog для подавления журналов и просто отбросить результат?


Если у вас есть большое количество тестов, которые регистрируют в консоли и не делают Если вы не хотите делать это для всех из них, вы можете создать собственный ExUnit tag в сочетании с ответом @ Aleksei, который сделает это за вас.

В шаблон ExUnit.Case добавьте следующее:

setup tags do
  if tags[:disable_logger] do
    Application.put_env(:my_app, :disable_logging, false)

    on_exit(fn ->
      Application.put_env(:my_app, :disable_logging, true)
    end)
  end

  :ok
end

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

@tag disable_logger: true
test "something happens" do
  # ...
end

Примечание: Вы столкнетесь с проблемами при этом, если будете выполнять тесты асинхронно

8
задан Chris Hanson 16 February 2009 в 23:29
поделиться

3 ответа

Я понял это. Следующие работы кода:

[searchField setStringValue:@""];
[[[searchField cell] cancelButtonCell] performClick:self];
9
ответ дан 5 December 2019 в 08:54
поделиться

Я понял это. Следующие работы кода:

[searchField setStringValue:@""];
[[[searchField cell] cancelButtonCell] performClick:self];
7
ответ дан 5 December 2019 в 08:54
поделиться

[[[searchField cell] cancelButtonCell] performClick:self]; мог бы работать, но действительно кажется, что должно быть "надлежащее" решение. Ваше табличное представление на самом деле связывается со значением searchField, или оно связывается с некоторым промежуточным объектом, который не становится обновленным, когда Вы устанавливаете содержание searchField на пустую строку программно (но который становится обновленным, когда Вы вводите из-за способа, которым привязка настраивается в пере)?

3
ответ дан 5 December 2019 в 08:54
поделиться
Другие вопросы по тегам:

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