Testing helps find mistakes in your code early. It makes sure your program works as expected and keeps it reliable.
When you want to check if a new feature works correctly before sharing it.
When you fix a bug and want to make sure it is really fixed.
When you change code and want to be sure nothing else breaks.
When you want to make your program safe to use by others.
When you want to save time by catching errors early instead of later.
Syntax
Kotlin
fun testFunction() {
// Write code to check if your function worksval result = yourFunction()
assert(result == expectedValue) { "Test failed!" }
}
Use assert to check if a condition is true.
If the condition is false, the program shows the message inside the curly braces.
Examples
This test checks if adding 2 and 3 gives 5.
Kotlin
fun testSum() {
valsum = 2 + 3
assert(sum == 5) { "Sum should be 5" }
}
This test checks if the greeting message is correct.
Kotlin
fun testGreeting() {
val greeting = "Hello" + " World"
assert(greeting == "Hello World") { "Greeting is wrong" }
}
Sample Program
This program defines a simple add function and tests it. If the test passes, it prints "Test passed!".
Kotlin
fun add(a: Int, b: Int): Int {
return a + b
}
fun testAdd() {
val result = add(4, 5)
assert(result == 9) { "Test failed: 4 + 5 should be 9" }
println("Test passed!")
}
fun main() {
testAdd()
}
OutputSuccess
Important Notes
Testing early helps catch errors before they cause bigger problems.
Good tests make your code easier to change and improve safely.
Write simple tests that check one thing at a time.
Summary
Testing finds mistakes and keeps your program working well.
Use tests to check your code often, especially after changes.
Simple tests help you trust your code and save time fixing bugs.
Practice
(1/5)
1. Why is testing important when writing Kotlin programs?
easy
A. It makes the program run faster automatically.
B. It allows the program to work without any user input.
C. It removes the need to write comments in code.
D. It helps find mistakes early and keeps the program working well.
Solution
Step 1: Understand the purpose of testing
Testing is used to find mistakes and ensure the program behaves as expected.
Step 2: Compare options with testing goals
Only It helps find mistakes early and keeps the program working well. correctly states that testing finds mistakes early and keeps the program working well.
Final Answer:
It helps find mistakes early and keeps the program working well. -> Option D
Quick Check:
Testing finds mistakes early = B [OK]
Hint: Testing finds bugs early and keeps code reliable [OK]
Common Mistakes:
Thinking testing makes code faster
Believing testing replaces comments
Assuming testing removes user input
2. Which Kotlin syntax correctly defines a simple test function named testSum?
easy
A. fun testSum() { /* test code here */ }
B. def testSum() { /* test code here */ }
C. function testSum() { /* test code here */ }
D. testSum fun() { /* test code here */ }
Solution
Step 1: Recall Kotlin function syntax
Kotlin functions start with the keyword fun, followed by the function name and parentheses.
Step 2: Match options to Kotlin syntax
Only fun testSum() { /* test code here */ } uses the correct Kotlin syntax: fun testSum() { ... }.
Final Answer:
fun testSum() { /* test code here */ } -> Option A
Quick Check:
Kotlin functions start with fun = A [OK]
Hint: Kotlin functions always start with 'fun' keyword [OK]
Common Mistakes:
Using 'def' like in Python
Using 'function' like in JavaScript
Placing 'fun' after the function name
3. What will be the output of this Kotlin test function?
fun testMultiply() {
val result = 3 * 4
if (result == 12) {
println("Test passed")
} else {
println("Test failed")
}
}
testMultiply()
medium
A. Test passed
B. No output
C. Test failed
D. Compilation error
Solution
Step 1: Calculate the multiplication
The variable result is assigned 3 * 4, which equals 12.
Step 2: Check the if condition
The condition result == 12 is true, so it prints "Test passed".
Final Answer:
Test passed -> Option A
Quick Check:
3 * 4 = 12, prints 'Test passed' = C [OK]
Hint: Calculate expressions before checking conditions [OK]
Common Mistakes:
Assuming multiplication is wrong
Ignoring the if condition
Thinking no output occurs
4. This Kotlin test function is supposed to check if a number is even. What is wrong?
fun testIsEven() {
val number = 5
if (number % 2 = 0) {
println("Even")
} else {
println("Odd")
}
}
testIsEven()
medium
A. The variable 'number' should be a String
B. Missing parentheses around the if condition
C. Using single '=' instead of '==' in the if condition
D. The function name should start with 'is'
Solution
Step 1: Identify the if condition syntax error
The condition uses a single '=' which is assignment, not comparison.
Step 2: Correct the comparison operator
It should use '==' to compare if number % 2 equals 0.
Final Answer:
Using single '=' instead of '==' in the if condition -> Option C
Quick Check:
Comparison needs '==' not '=' = A [OK]
Hint: Use '==' for comparison, '=' is assignment [OK]
Common Mistakes:
Confusing '=' with '=='
Thinking parentheses are missing
Believing variable type is wrong
5. You want to write a Kotlin test that checks if a function calculateDiscount returns the correct discount for a price. Which approach best shows why testing matters?
hard
A. Write a test that changes the price variable but does not check the output.
B. Write a test that calls calculateDiscount(100) and checks if the result is 10.
C. Write a test that always returns true without calling the function.
D. Write a test that prints the price without checking the result.
Solution
Step 1: Understand the goal of testing functions
Tests should call the function and verify if the output matches expected results.
Step 2: Evaluate each option
Only Write a test that calls calculateDiscount(100) and checks if the result is 10. calls the function and checks the result, which helps find mistakes and trust the code.
Final Answer:
Write a test that calls calculateDiscount(100) and checks if the result is 10. -> Option B
Quick Check:
Test calls function and checks output = D [OK]
Hint: Tests must check function output against expected values [OK]
Common Mistakes:
Writing tests that don't check results
Returning true without testing
Changing variables without verification
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.