Bird
Raised Fist0
Cypresstesting~5 mins

cy.readFile() assertions in Cypress - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does cy.readFile() do in Cypress?

cy.readFile() reads the contents of a file from the file system during a test.

It allows you to check file content as part of your test assertions.

Click to reveal answer
beginner
How do you assert that a file contains specific text using cy.readFile()?

Use cy.readFile('path/to/file').should('include', 'expected text').

This checks that the file content includes the given text.

Click to reveal answer
intermediate
How can you assert JSON content from a file using cy.readFile()?

Read the JSON file and assert its properties like this:

cy.readFile('data.json').should((json) => {
expect(json.key).to.equal('value');
})
Click to reveal answer
beginner
What happens if cy.readFile() tries to read a non-existent file?

The test will fail with an error saying the file was not found.

This helps catch missing or wrongly named files during testing.

Click to reveal answer
intermediate
Why is it better to use should() assertions with cy.readFile() instead of then()?

should() retries automatically until the assertion passes or times out.

This makes tests more stable if the file content changes asynchronously.

Click to reveal answer
What does cy.readFile('file.txt').should('include', 'hello') check?
AThe file path exists
BThe file contains the text 'hello'
CThe file size is greater than zero
DThe file is empty
How do you assert a JSON file has a key 'name' with value 'Alice' using cy.readFile()?
Acy.readFile('file.json').should((json) => { expect(json.name).to.equal('Alice') })
Bcy.readFile('file.json').should('include', 'Alice')
Ccy.readFile('file.json').should('have.property', 'name', 'Alice')
Dcy.readFile('file.json').then(json => json.name === 'Alice')
What happens if cy.readFile() tries to read a missing file?
AThe test passes silently
BThe test retries reading forever
CThe test fails with a file not found error
DThe test skips the file check
Why prefer should() over then() for assertions on cy.readFile()?
A<code>then()</code> cannot access file content
B<code>then()</code> retries the assertion automatically
C<code>should()</code> runs faster than <code>then()</code>
D<code>should()</code> retries the assertion until it passes or times out
Which is a valid way to check that a file contains the exact text 'Hello World'?
Acy.readFile('file.txt').should('equal', 'Hello World')
Bcy.readFile('file.txt').should('include', 'Hello')
Ccy.readFile('file.txt').should('contain', 'World')
Dcy.readFile('file.txt').should('have.length', 11)
Explain how to use cy.readFile() to verify JSON file content in a Cypress test.
Think about how to access JSON keys and check their values.
You got /3 concepts.
    Describe the benefits of using should() assertions with cy.readFile() instead of then().
    Consider what happens if the file content changes after the first read.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does cy.readFile() do in Cypress testing?
      easy
      A. Writes data to a file during the test
      B. Reads the content of a file so you can check its data
      C. Deletes a file from the system
      D. Uploads a file to a server

      Solution

      1. Step 1: Understand the purpose of cy.readFile()

        This command is used to read the contents of a file during a Cypress test.
      2. Step 2: Identify what cy.readFile() does not do

        It does not write, delete, or upload files; it only reads them.
      3. Final Answer:

        Reads the content of a file so you can check its data -> Option B
      4. Quick Check:

        cy.readFile() = Read file content [OK]
      Hint: Remember: readFile reads, not writes or deletes [OK]
      Common Mistakes:
      • Confusing readFile with writeFile
      • Thinking it uploads files
      • Assuming it deletes files
      2. Which of the following is the correct syntax to assert that a file contains the text "Hello World" using cy.readFile()?
      easy
      A. cy.readFile('file.txt').should('containText', 'Hello World')
      B. cy.readFile('file.txt').should('equals', 'Hello World')
      C. cy.readFile('file.txt').should('includes', 'Hello World')
      D. cy.readFile('file.txt').should('contain', 'Hello World')

      Solution

      1. Step 1: Identify the correct assertion method for substring check

        The correct assertion to check if a string contains text is contain.
      2. Step 2: Match syntax with Cypress documentation

        should('contain', 'text') is the valid syntax; others like 'equals', 'includes', or 'containText' are incorrect here.
      3. Final Answer:

        cy.readFile('file.txt').should('contain', 'Hello World') -> Option D
      4. Quick Check:

        Use 'contain' for substring assertions [OK]
      Hint: Use 'contain' to check if file text includes a string [OK]
      Common Mistakes:
      • Using 'equals' instead of 'contain' for substring
      • Using 'includes' which is not a Cypress assertion
      • Using 'containText' which is for DOM elements
      3. Given the file data.json contains {"name": "Alice", "age": 30}, what will this test assertion do?
      cy.readFile('data.json').should('deep.equal', { name: 'Alice', age: 30 })
      medium
      A. Pass because the file content matches the object exactly
      B. Fail because the object keys are strings in the file
      C. Fail because 'deep.equal' cannot compare objects
      D. Pass but only if the file is a string, not JSON

      Solution

      1. Step 1: Understand deep.equal assertion

        This assertion checks if two objects have the same structure and values deeply.
      2. Step 2: Check if cy.readFile() parses JSON automatically

        Yes, it parses JSON files into objects, so the assertion compares objects correctly.
      3. Final Answer:

        Pass because the file content matches the object exactly -> Option A
      4. Quick Check:

        deep.equal compares objects deeply [OK]
      Hint: Use deep.equal to compare JSON objects, not strings [OK]
      Common Mistakes:
      • Thinking file content is a string, not parsed JSON
      • Confusing deep.equal with shallow equal
      • Assuming keys must be non-string
      4. What is wrong with this Cypress test code?
      cy.readFile('log.txt').should('include', 'Error')
      medium
      A. The file must be JSON to use should assertions
      B. The file path must be absolute, not relative
      C. The assertion method should be 'contain', not 'include'
      D. The method 'include' is correct and will pass if 'Error' is found

      Solution

      1. Step 1: Check the assertion method name

        Cypress uses 'contain' for substring assertions; 'include' is not a valid assertion method.
      2. Step 2: Confirm correct assertion for substring

        The correct method is 'contain' to check if text includes a substring.
      3. Final Answer:

        The assertion method should be 'contain', not 'include' -> Option C
      4. Quick Check:

        Use 'contain' for substring assertions, not 'include' [OK]
      Hint: Use 'contain' for substring checks, not 'include' [OK]
      Common Mistakes:
      • Using 'include' instead of 'contain'
      • Thinking relative paths are invalid
      • Assuming only JSON files can be read
      5. You want to verify a downloaded CSV file contains the header row exactly as "Name,Age,Email". Which Cypress code correctly reads the file and asserts this?
      hard
      A. cy.readFile('downloads/data.csv').should('contain', 'Name,Age,Email')
      B. cy.readFile('downloads/data.csv').should('equal', 'Name,Age,Email')
      C. cy.readFile('downloads/data.csv').should('deep.equal', 'Name,Age,Email')
      D. cy.readFile('downloads/data.csv').should('include', 'Name,Age,Email')

      Solution

      1. Step 1: Understand the file content and assertion needed

        The CSV file is text, and we want to check if it contains the exact header row as a substring.
      2. Step 2: Choose the correct assertion for substring in text files

        contain is the correct assertion to check if the file text includes the header row.
      3. Final Answer:

        cy.readFile('downloads/data.csv').should('contain', 'Name,Age,Email') -> Option A
      4. Quick Check:

        Use 'contain' to check text includes header row [OK]
      Hint: Use 'contain' to check CSV header text inside file [OK]
      Common Mistakes:
      • Using 'equal' which requires exact full file match
      • Using 'deep.equal' which is for objects, not strings
      • Using 'include' which is not a valid assertion
      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