Bird
Raised Fist0
Goprogramming~5 mins

Running tests in Go - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What command runs tests in a Go module?
Use go test in the terminal inside your module directory to run all tests.
Click to reveal answer
beginner
How do you name a test function in Go?
Test functions start with Test followed by a name, e.g., func TestAdd(t *testing.T).
Click to reveal answer
beginner
What package must you import to write tests in Go?
Import the <code>testing</code> package to use the <code>*testing.T</code> type and test helpers.
Click to reveal answer
intermediate
How do you run a specific test function in Go?
Use go test -run TestFunctionName to run only that test.
Click to reveal answer
intermediate
What does t.Fail() do in a Go test?
It marks the test as failed but continues running the test function.
Click to reveal answer
Which file suffix is used for Go test files?
A_testing.go
B.go
C_test.go
D.test
What argument type does a Go test function receive?
Astring
B*testing.T
Cint
Dbool
How do you skip a test in Go?
At.Fail()
Bt.Stop()
Creturn
Dt.Skip()
Which command runs tests with verbose output?
Ago test -v
Bgo test -run
Cgo test -fail
Dgo test -skip
What happens if a test function calls t.Fatal()?
ATest fails and stops immediately
BTest fails but continues
CTest passes
DTest is skipped
Explain how to write and run a basic test in Go.
Think about file naming, function signature, and command line usage.
You got /3 concepts.
    Describe the difference between t.Fail() and t.Fatal() in Go tests.
    Consider how the test function behaves after each call.
    You got /2 concepts.

      Practice

      (1/5)
      1. What is the correct way to name a test function in Go so that go test can run it?
      easy
      A. Start the function name with Test
      B. Start the function name with test (lowercase t)
      C. Name the function RunTest
      D. Name the function CheckTest

      Solution

      1. Step 1: Understand Go test naming rules

        Go requires test functions to start with an uppercase Test to be recognized by go test.
      2. Step 2: Check the options

        Only Start the function name with Test starts with Test exactly, others do not follow the naming convention.
      3. Final Answer:

        Start the function name with Test -> Option A
      4. Quick Check:

        Test functions start with 'Test' [OK]
      Hint: Test functions must start with uppercase 'Test' [OK]
      Common Mistakes:
      • Using lowercase 'test' at start
      • Naming test functions without 'Test' prefix
      • Using unrelated prefixes like 'Run' or 'Check'
      2. Which of the following is the correct syntax to run tests in a Go module from the command line?
      easy
      A. go execute test
      B. go run test
      C. go build test
      D. go test

      Solution

      1. Step 1: Recall Go test command

        The command to run tests in Go is go test.
      2. Step 2: Compare options

        Only go test matches the correct command. Others are invalid commands.
      3. Final Answer:

        go test -> Option D
      4. Quick Check:

        Run tests with 'go test' [OK]
      Hint: Use 'go test' to run tests, not 'go run' [OK]
      Common Mistakes:
      • Using 'go run test' instead of 'go test'
      • Trying 'go build test' which builds but doesn't test
      • Using non-existent commands like 'go execute test'
      3. What will be the output when running go test on this test file?
      package main
      
      import "testing"
      
      func TestSum(t *testing.T) {
        if 2+2 != 4 {
          t.Error("Sum failed")
        }
      }
      medium
      A. Syntax error: missing main function
      B. FAIL --- FAIL: TestSum
      C. PASS ok main 0.001s
      D. No tests to run

      Solution

      1. Step 1: Analyze the test logic

        The test checks if 2+2 equals 4, which is true, so no error is called.
      2. Step 2: Understand test output

        Since the test passes, go test outputs PASS with timing info.
      3. Final Answer:

        PASS ok main 0.001s -> Option C
      4. Quick Check:

        Test passes, so output shows PASS [OK]
      Hint: If test condition is true, output shows PASS [OK]
      Common Mistakes:
      • Assuming syntax error due to missing main
      • Expecting FAIL when condition is true
      • Thinking tests won't run without main function
      4. Identify the error in this test function that prevents go test from running it:
      package main
      
      import "testing"
      
      func testAdd(t *testing.T) {
        if 1+1 != 2 {
          t.Error("Add failed")
        }
      }
      medium
      A. Missing import of 'fmt' package
      B. Function name must start with uppercase 'Test'
      C. Test function must return a value
      D. Test functions cannot have parameters

      Solution

      1. Step 1: Check test function naming

        The function is named testAdd with lowercase 't', so go test ignores it.
      2. Step 2: Verify other requirements

        Test functions must start with uppercase 'Test' and accept *testing.T parameter, which is correct except the name.
      3. Final Answer:

        Function name must start with uppercase 'Test' -> Option B
      4. Quick Check:

        Test functions need 'Test' prefix [OK]
      Hint: Test functions must start with uppercase 'Test' [OK]
      Common Mistakes:
      • Thinking test functions need to return a value
      • Assuming missing 'fmt' import causes test failure
      • Believing test functions cannot have parameters
      5. You want to run only tests in the file math_test.go inside your module. Which command should you use?
      hard
      A. go test math_test.go
      B. go test -file math_test.go
      C. go test -v
      D. go test -run math_test.go

      Solution

      1. Step 1: Understand how to run tests in a specific file

        Go allows specifying test files directly as arguments to go test.
      2. Step 2: Check options for correct usage

        Only go test math_test.go runs tests in the specified file. B uses invalid -file flag, C's go test -v runs all tests verbosely, D's -run matches test names.
      3. Final Answer:

        go test math_test.go -> Option A
      4. Quick Check:

        Specify test file directly to run its tests [OK]
      Hint: Run tests in a file by naming it after 'go test' [OK]
      Common Mistakes:
      • Using invalid flags like -run or -file with filenames
      • Confusing verbose flag -v with file selection
      • Not specifying the file and running all tests
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard