2015-04-15 1 views
0

Я читаю эту документацию: https://confluence.jetbrains.com/display/IDEADEV/Testing+IntelliJ+IDEA+PluginsРазработка плагина Intellij-IDEA: как проверить открытие нового файла на новой вкладке?

Одна вещь, которую я не могу понять, как это сделать с CodeInsightTestFixture это тест, как это:

  1. создать файл с «а», как содержание и открыть его
  2. создать файл с «Ъ», как содержание и открыть
  3. открыть первый файл
  4. утверждают, что текущее содержимое документа является «»

Я попытался это, но он не:

//myFixture is a com.intellij.testFramework.fixtures.CodeInsightTestFixture 
PsiFile psiFile = myFixture.configureByText(PlainTextFileType.INSTANCE, "a"); 
myFixture.configureByText(PlainTextFileType.INSTANCE, "b"); 
myFixture.openFileInEditor(psiFile.getVirtualFile()); 
myFixture.checkResult("a"); 

Ошибка:

junit.framework.ComparisonFailure: TEXT 
Expected :a 
Actual :b 

Я думал, что ответ:

Это прошло когда I tr

PsiFile psiFile = myFixture.configureByText("a.txt", "a"); 
myFixture.configureByText("b.txt", "b"); 
myFixture.openFileInEditor(psiFile.getVirtualFile()); 
myFixture.checkResult("a"); 

По-прежнему не уверен, почему оригинал не существует. Возможно, оригинал заменяет только текущий файл?

Оказывается, это не ответ. Я думаю, что есть один Editor на испытательный прибор. Все, что я сделал в этом тесте, изменяет содержимое редактора, чтобы быть другим. Это не то же самое, что «просмотр новой вкладки». С тех пор я узнал, что «каждая вкладка имеет свой собственный редактор», поэтому этот оригинальный вопрос не имеет большого смысла. Я действительно пытаюсь спросить: «Разработка плагина Intellij-IDEA: как проверить открытие нового файла на новой вкладке?»

ответ

0

«Открытие файла на новой вкладке» является частью основной функциональности IntelliJ IDEA; Я не понимаю, почему вам нужно будет протестировать это как часть ваших плагиновых тестов. Кроме того, правильно, что тестовое устройство имеет только один редактор.

Если ваши тесты генерируют или изменяют несколько файлов, вы можете использовать трехпараметрическую перегрузку CodeInsightTestFixture.checkResultByFile(), чтобы проверить, что каждый файл имеет ожидаемое содержимое.

+0

Меня беспокоит эта проблема: https://youtrack.jetbrains.com/issue/VIM-523 Как узнать, активен ли правильный редактор, когда у 'CodeInsightTestFixture' есть только один? –