Kotlin:
การเขียนการทดสอบ
วิธีทำ:
Kotlin รองรับการพัฒนาโดยขับเคลื่อนด้วยการทดสอบ ด้วยเฟรมเวิร์กระบบต่างๆ ที่ได้รับความนิยม ได้แก่ JUnit, Kotest และ MockK สำหรับการทำ mocking นี่คือตัวอย่างง่ายๆ โดยใช้ JUnit:
import org.junit.jupiter.api.Test
import kotlin.test.assertEquals
class CalculatorTest {
@Test
fun `adds two numbers`() {
val calculator = Calculator()
val result = calculator.add(2, 3)
assertEquals(5, result)
}
}
class Calculator {
fun add(a: Int, b: Int): Int = a + b
}
ผลลัพธ์ตัวอย่าง
ทดสอบผ่าน
สำหรับวิธีการทดสอบที่มีความซับซ้อนมากขึ้น โดยใช้ Kotest ซึ่งเสนอสไตล์การเขียนทดสอบภาษา Kotlin ที่เหมาะสมยิ่งขึ้น ดูตัวอย่างด้านล่าง:
import io.kotest.core.spec.style.StringSpec
import io.kotest.matchers.shouldBe
class CalculatorSpec : StringSpec({
"การบวก 2 และ 3 ควรได้ผลลัพธ์ 5" {
val calculator = Calculator()
calculator.add(2, 3) shouldBe 5
}
})
การใช้ MockK สำหรับการทดสอบด้วย mocks:
import io.mockk.every
import io.mockk.mockk
import org.junit.jupiter.api.Test
import kotlin.test.assertEquals
class ServiceTest {
private val repository = mockk<Repository>()
private val service = Service(repository)
@Test
fun `การเรียกข้อมูลจะได้ข้อมูลถูกล้อเลียน`() {
every { repository.getData() } returns "ข้อมูลถูกล้อเลียน"
val result = service.getData()
assertEquals("ข้อมูลถูกล้อเลียน", result)
}
}
class Service(private val repository: Repository) {
fun getData(): String = repository.getData()
}
interface Repository {
fun getData(): String
}
ผลลัพธ์ตัวอย่าง
ทดสอบผ่าน
ตัวอย่างเหล่านี้แสดงถึงพื้นฐานในการเขียนการทดสอบยูนิตใน Kotlin ตามที่แอปพลิเคชันของคุณเติบโต ควรพิจารณาสำรวจเทคนิคการทดสอบและเครื่องมือชั้นสูงมากขึ้นที่แต่ละเฟรมเวิร์กให้มา