Bird
Raised Fist0
Denoframework~5 mins

Assertions and matchers in Deno - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of assertions in Deno testing?
Assertions check if a condition is true during tests. If false, the test fails. They help confirm code works as expected.
Click to reveal answer
beginner
Name a common matcher function in Deno's testing library.
assertEquals() checks if two values are equal. It is often used to compare expected and actual results.
Click to reveal answer
intermediate
How does assertThrows() help in testing?
assertThrows() verifies that a function throws an error when expected. It ensures error handling works correctly.
Click to reveal answer
beginner
What happens if an assertion fails during a Deno test run?
The test stops and is marked as failed. This signals that the code did not behave as expected.
Click to reveal answer
intermediate
Explain the difference between assert() and assertEquals() in Deno.
assert() checks if a value is truthy (true or truthy value). assertEquals() compares two values for exact equality.
Click to reveal answer
Which Deno assertion checks if two values are exactly equal?
Aassert()
BassertThrows()
CassertEquals()
DassertNotEquals()
What does assertThrows() verify in a test?
AThat a function throws an error
BThat a value is truthy
CThat two values are equal
DThat a function returns true
If an assertion fails in Deno, what happens?
AThe test passes anyway
BThe test retries automatically
CThe test is skipped
DThe test fails and stops
Which assertion would you use to check if a value is truthy?
Aassert()
BassertThrows()
CassertEquals()
DassertNotEquals()
What is the main role of matchers in Deno testing?
ATo run tests in parallel
BTo compare values or check conditions
CTo format test output
DTo install dependencies
Describe how you would use assertions and matchers to test a function that should throw an error when given bad input.
Think about how to confirm your code handles mistakes safely.
You got /3 concepts.
    Explain the difference between assert() and assertEquals() in Deno testing and when to use each.
    One checks truthiness, the other checks exact equality.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of assertions in Deno testing?
      easy
      A. To create new variables automatically
      B. To check if the code behaves as expected
      C. To speed up the execution of code
      D. To format the output of the program

      Solution

      1. Step 1: Understand what assertions do

        Assertions are used to verify that the code produces the expected results during tests.
      2. Step 2: Identify the purpose in testing

        They help catch errors by comparing actual output with expected output.
      3. Final Answer:

        To check if the code behaves as expected -> Option B
      4. Quick Check:

        Assertions verify behavior = D [OK]
      Hint: Assertions verify expected behavior in tests [OK]
      Common Mistakes:
      • Thinking assertions format output
      • Believing assertions speed up code
      • Confusing assertions with variable creation
      2. Which of the following is the correct syntax to assert equality in Deno tests?
      easy
      A. assertEquals(actual, expected);
      B. assertEqual(actual, expected);
      C. assert.equal(actual, expected);
      D. assertEquals(expected, actual);

      Solution

      1. Step 1: Recall Deno's assertion function names

        Deno provides an assertion function called assertEquals to check equality.
      2. Step 2: Check parameter order and spelling

        The correct order is assertEquals(actual, expected), matching assertEquals(actual, expected); exactly.
      3. Final Answer:

        assertEquals(actual, expected); -> Option A
      4. Quick Check:

        Correct function and order = A [OK]
      Hint: Use assertEquals(actual, expected) exactly [OK]
      Common Mistakes:
      • Swapping actual and expected parameters
      • Using assertEqual instead of assertEquals
      • Using dot notation incorrectly
      3. What will be the result of this Deno test code?
      import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
      
      const result = 5 + 3;
      assertEquals(result, 8);
      medium
      A. Runtime error because result is undefined
      B. Test fails with an assertion error
      C. Syntax error due to import statement
      D. Test passes without errors

      Solution

      1. Step 1: Evaluate the calculation

        The variable result is assigned 5 + 3, which equals 8.
      2. Step 2: Check the assertion

        The assertion compares result (8) with expected value 8, so it matches and passes.
      3. Final Answer:

        Test passes without errors -> Option D
      4. Quick Check:

        5 + 3 = 8 matches expected = A [OK]
      Hint: Check calculation matches expected value exactly [OK]
      Common Mistakes:
      • Assuming import causes syntax error
      • Thinking assertion fails when values match
      • Confusing runtime error with assertion failure
      4. Identify the error in this Deno test code:
      import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
      
      const value = "hello";
      assertEquals(value, Hello);
      medium
      A. Missing quotes around Hello causing a ReferenceError
      B. Incorrect import URL for assertEquals
      C. assertEquals requires three arguments
      D. Variable value is not defined

      Solution

      1. Step 1: Check the assertion parameters

        The second parameter is Hello without quotes, so JavaScript treats it as a variable.
      2. Step 2: Identify the error caused

        Since Hello is not defined, this causes a ReferenceError at runtime.
      3. Final Answer:

        Missing quotes around Hello causing a ReferenceError -> Option A
      4. Quick Check:

        String literals need quotes = C [OK]
      Hint: Always quote string literals in assertions [OK]
      Common Mistakes:
      • Forgetting quotes around strings
      • Assuming import URL is wrong
      • Thinking assertEquals needs more arguments
      5. You want to test if a function returns an array containing the number 10. Which assertion is best to use in Deno?
      hard
      A. assert(result == [10]);
      B. assertEquals(result, 10);
      C. assertEquals(result.includes(10), true);
      D. assert(result.contains(10));

      Solution

      1. Step 1: Understand the goal

        You want to check if the array contains the number 10, not if it equals 10 or a single-element array.
      2. Step 2: Evaluate each option

        assertEquals(result.includes(10), true); uses result.includes(10) which returns true if 10 is in the array, then asserts it equals true. This is correct.
        assert(result == [10]); compares array to [10] with == which fails because arrays are reference types.
        assertEquals(result, 10); compares array to number 10, which is incorrect.
        assert(result.contains(10)); uses contains which is not a valid JavaScript method.
      3. Final Answer:

        assertEquals(result.includes(10), true); -> Option C
      4. Quick Check:

        Use includes() to check array contents = B [OK]
      Hint: Use includes() method inside assertEquals for array checks [OK]
      Common Mistakes:
      • Using == to compare arrays
      • Using non-existent contains() method
      • Comparing array directly to a number
      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