可以在Kotlin中编写函数(即在顶层)。 我可以unit testing那些顶级?
如果我在顶层编写代码(在课堂之外)。
我可以编写此代码的JUnit测试,而无需为此测试目的创建类?
假设你在一个文件中有一个顶级函数:
// functions.kt package some.pack.age fun add(x: Int, y: Int) = x + y
你可以像这样创建一个测试(在IntelliJ中创建这个文件的一个简单的方法是使用function名称上的Alt + Enter
快捷键,并选择Create test
):
// FunctionKtTest.kt - the default suggested name package some.pack.age import org.junit.Assert.* import org.junit.Test class FunctionsKtTest { @Test fun additionIsCorrect() { assertEquals(5, add(2, 3)) } }
JUnit测试本身确实需要定义一个包含@Test
函数的类,当然你可以任意指定这个类。
如果你把这个类放在与函数相同的包中,你甚至不需要导入它。 如果你把它放在另一个包中,你仍然可以像这样导入你的顶层函数:
import some.pack.age.add
- Intellij在构建时崩溃Java
- Kotlin:调用方式(Int,Int) – > Int与一对<Int,Int>?
- Android Studio上的Kotlin(非Android)项目的ClassNotFoundException错误
- 当使用AsyncTask 将Object转换为GoogleMap时,我得到java.lang.RuntimeException
- Kotlin:获取具有标准function的文件扩展名
- Kotlin的Class <?> clazz
- 使用@Filter过滤Hibernate实体不会做任何过滤
- 我在Signal android项目中使用volleyplus和volley库
- 构建器模式和大量的强制性参数