我正在阅读此文档:https://confluence.jetbrains.com/display/IDEADEV/Testing+IntelliJ+IDEA+Plugins
我无法弄清楚如何使用CodeInsightTestFixture
这样的测试用例:
我尝试过但却失败了:
//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
我以为我得到了答案:
当我尝试时,它通过了:
PsiFile psiFile = myFixture.configureByText("a.txt", "a"); myFixture.configureByText("b.txt", "b"); myFixture.openFileInEditor(psiFile.getVirtualFile()); myFixture.checkResult("a");
仍然不确定为什么原来没有。原文只能替换当前文件吗?
原来这不是答案。我认为每个测试夹具有一个Editor
。我在这次测试中所做的就是将编辑器的内容改为不同。这与"查看新标签"不同。我已经了解到"每个标签都有自己的编辑器"所以这个原始问题没有多大意义。我真正想要的是" Intellij-IDEA插件开发:如何测试在新标签中打开不同的文件?"
答案 0 :(得分:0)
“在新标签页中打开文件”是IntelliJ IDEA核心功能的一部分;我不明白为什么你需要在插件测试中测试它。此外,测试夹具只有一个编辑器是正确的。
如果测试生成或修改多个文件,则可以使用CodeInsightTestFixture.checkResultByFile()的三参数重载来检查每个文件是否具有预期内容。