Challenge - 5 Problems
Go Test Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
Output of a simple Go test function
What will be the output when running this Go test function with
go test?Go
package main import "testing" func Add(a, b int) int { return a + b } func TestAdd(t *testing.T) { if Add(2, 3) != 5 { t.Error("Expected 5") } }
Attempts:
2 left
💡 Hint
The test checks if Add(2, 3) equals 5 and calls t.Error only if it doesn't.
✗ Incorrect
The function Add correctly returns 5 for inputs 2 and 3, so the test passes without errors.
❓ Predict Output
intermediate2:00remaining
Result of a failing Go test function
What is the output of this Go test function when run with
go test?Go
package main import "testing" func Multiply(a, b int) int { return a * b } func TestMultiply(t *testing.T) { if Multiply(2, 3) != 6 { t.Error("Expected 6") } if Multiply(2, 0) != 0 { t.Error("Expected 0") } if Multiply(2, 2) != 5 { t.Error("Expected 5") } }
Attempts:
2 left
💡 Hint
Check which condition in the test fails based on the Multiply function's return values.
✗ Incorrect
Multiply(2, 2) returns 4, but the test expects 5, so the test fails with that error message.
🔧 Debug
advanced2:00remaining
Identify the error in this Go test function
What error will this Go test function produce when run with
go test?Go
package main import "testing" func Subtract(a, b int) int { return a - b } func TestSubtract(t *testing.T) { if Subtract(5, 3) != 2 { t.Error("Expected 2") } }
Attempts:
2 left
💡 Hint
Check the if statement syntax carefully.
✗ Incorrect
The if statement is missing curly braces {} around the block, causing a syntax error.
📝 Syntax
advanced2:00remaining
Correct syntax for a Go test function
Which option shows the correct syntax for a Go test function named TestDivide that tests a Divide function?
Attempts:
2 left
💡 Hint
Test functions must start with 'Test' and take *testing.T as parameter.
✗ Incorrect
Option A follows the correct naming and parameter conventions for Go test functions.
🚀 Application
expert2:00remaining
Number of tests run and output from multiple test functions
Given these two Go test functions in the same package, what will be the output summary after running
go test?Go
package main import "testing" func TestOne(t *testing.T) { t.Log("Running TestOne") } func TestTwo(t *testing.T) { t.Error("TestTwo failed") }
Attempts:
2 left
💡 Hint
t.Error causes test failure; t.Log only logs info without failing.
✗ Incorrect
TestOne logs info but passes; TestTwo calls t.Error causing failure and overall test failure.