# SoftAssertHelper
Extends ExpectHelper
SoftAssertHelper is a utility class for performing soft assertions. Unlike traditional assertions that stop the execution on failure, soft assertions allow the execution to continue and report all failures at the end.
# Examples
Zero-configuration when paired with other helpers like REST, Playwright:
// inside codecept.conf.js
{
helpers: {
Playwright: {...},
SoftExpectHelper: {},
}
}
// in scenario
I.softExpectEqual('a', 'b')
I.flushSoftAssertions() // Throws an error if any soft assertions have failed. The error message contains all the accumulated failures.
# Methods
# flushSoftAssertions
Throws an error if any soft assertions have failed. The error message contains all the accumulated failures.
- Throws Error (opens new window) If there are any soft assertion failures.
# softAssert
Performs a soft assertion by executing the provided assertion function. If the assertion fails, the error is caught and stored without halting the execution.
# Parameters
assertionFn
Function (opens new window) The assertion function to execute.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectAbove
Softly asserts that the target data is above a specified value.
# Parameters
targetData
any The data to check.aboveThan
any The value that the target data should be above.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectBelow
Softly asserts that the target data is below a specified value.
# Parameters
targetData
any The data to check.belowThan
any The value that the target data should be below.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectContain
Softly asserts that a value contains the expected value.
# Parameters
actualValue
any The actual value.expectedValueToContain
any The value that should be contained within the actual value.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectDeepEqual
Softly asserts that two values are deeply equal.
# Parameters
actualValue
any The actual value.expectedValue
any The expected value.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectDeepEqualExcluding
Softly asserts that two objects are deeply equal, excluding specified fields.
# Parameters
actualValue
Object (opens new window) The actual object.expectedValue
Object (opens new window) The expected object.fieldsToExclude
Array (opens new window)<string (opens new window)> The fields to exclude from the comparison.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectDeepIncludeMembers
Softly asserts that an array (superset) deeply includes all members of another array (set).
# Parameters
superset
Array (opens new window) The array that should contain the expected members.set
Array (opens new window) The array with members that should be included.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectDeepMembers
Softly asserts that two arrays have deep equality, considering members in any order.
# Parameters
actualValue
Array (opens new window) The actual array.expectedValue
Array (opens new window) The expected array.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectEmpty
Softly asserts that the target data is empty.
# Parameters
targetData
any The data to check.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectEndsWith
Softly asserts that a value ends with the expected value.
# Parameters
actualValue
any The actual value.expectedValueToEndWith
any The value that the actual value should end with.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectEqual
Softly asserts that two values are equal.
# Parameters
actualValue
any The actual value.expectedValue
any The expected value.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectEqualIgnoreCase
Softly asserts that two values are equal, ignoring case.
# Parameters
actualValue
string (opens new window) The actual string value.expectedValue
string (opens new window) The expected string value.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectFalse
Softly asserts that the target data is false.
# Parameters
targetData
any The data to check.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectHasAProperty
Softly asserts that the target data has a property with the specified name.
# Parameters
targetData
any The data to check.propertyName
string (opens new window) The property name to check for.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectHasProperty
Softly asserts that the target data has the specified property.
# Parameters
targetData
any The data to check.propertyName
string (opens new window) The property name to check for.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectJsonSchema
Softly asserts that the target data matches the given JSON schema.
# Parameters
targetData
any The data to validate.jsonSchema
Object (opens new window) The JSON schema to validate against.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectJsonSchemaUsingAJV
Softly asserts that the target data matches the given JSON schema using AJV.
# Parameters
targetData
any The data to validate.jsonSchema
Object (opens new window) The JSON schema to validate against.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.ajvOptions
Object (opens new window) Options to pass to AJV.
# softExpectLengthAboveThan
Softly asserts that the length of the target data is above a specified value.
# Parameters
targetData
any The data to check.lengthAboveThan
number (opens new window) The length that the target data should be above.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectLengthBelowThan
Softly asserts that the length of the target data is below a specified value.
# Parameters
targetData
any The data to check.lengthBelowThan
number (opens new window) The length that the target data should be below.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectLengthOf
Softly asserts that the target data has a specified length.
# Parameters
targetData
any The data to check.length
number (opens new window) The expected length.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectMatchesPattern
Softly asserts that a value matches the expected pattern.
# Parameters
actualValue
any The actual value.expectedPattern
any The pattern the value should match.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectNotContain
Softly asserts that a value does not contain the expected value.
# Parameters
actualValue
any The actual value.expectedValueToNotContain
any The value that should not be contained within the actual value.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectNotDeepEqual
Softly asserts that two values are not deeply equal.
# Parameters
actualValue
any The actual value.expectedValue
any The expected value.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectNotEndsWith
Softly asserts that a value does not end with the expected value.
# Parameters
actualValue
any The actual value.expectedValueToNotEndWith
any The value that the actual value should not end with.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectNotEqual
Softly asserts that two values are not equal.
# Parameters
actualValue
any The actual value.expectedValue
any The expected value.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectNotStartsWith
Softly asserts that a value does not start with the expected value.
# Parameters
actualValue
any The actual value.expectedValueToNotStartWith
any The value that the actual value should not start with.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectStartsWith
Softly asserts that a value starts with the expected value.
# Parameters
actualValue
any The actual value.expectedValueToStartWith
any The value that the actual value should start with.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectToBeA
Softly asserts that the target data is of a specific type.
# Parameters
targetData
any The data to check.type
string (opens new window) The expected type (e.g., 'string', 'number').customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectToBeAn
Softly asserts that the target data is of a specific type (alternative for articles).
# Parameters
targetData
any The data to check.type
string (opens new window) The expected type (e.g., 'string', 'number').customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.
# softExpectTrue
Softly asserts that the target data is true.
# Parameters
targetData
any The data to check.customErrorMsg
string (opens new window) A custom error message to display if the assertion fails.