intellij-idea Intellij插件开发和Kotlin测试

ff29svar  于 2022-11-01  发布在  Kotlin
关注(0)|答案(2)|浏览(284)

我正在尝试开发一个用kotlin编写的intellij插件-我很难找到任何用kotlin编写的插件单元测试的例子,甚至是用gradle而不是旧的dev SDK编写的测试数据的java例子。有人能指出一个带有单元测试的演示应用程序吗?(最好是用于检查)

pkbketx9

pkbketx91#

如果您使用模板,则这些内容现在即会出现:https://github.com/JetBrains/intellij-platform-plugin-template
这是Kotlin的一个测试:

package org.jetbrains.plugins.template

import com.intellij.ide.highlighter.XmlFileType
import com.intellij.psi.xml.XmlFile
import com.intellij.testFramework.TestDataPath
import com.intellij.testFramework.fixtures.BasePlatformTestCase
import com.intellij.util.PsiErrorElementUtil

class MyPluginTest : BasePlatformTestCase() {

    fun testXMLFile() {
        val psiFile = myFixture.configureByText(XmlFileType.INSTANCE, "<foo>bar</foo>")
        val xmlFile = assertInstanceOf(psiFile, XmlFile::class.java)

        assertFalse(PsiErrorElementUtil.hasErrors(project, xmlFile.virtualFile))

        assertNotNull(xmlFile.rootTag)

        xmlFile.rootTag?.let {
            assertEquals("foo", it.name)
            assertEquals("bar", it.value.text)
        }
    }
}

插件文档还提供了更多相关的测试信息:https://plugins.jetbrains.com/docs/intellij/writing-tests.html
此外,这里还有一些用Java编写的用于JUnit IntelliJ插件https://github.com/JetBrains/intellij-community/blob/master/plugins/junit/test/com/intellij/execution/junit/JUnitDetectionTest.java的单元测试

0pizxfdo

0pizxfdo2#

有人理论:

代码示例:

希望这对你有帮助。

相关问题