# 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
assertionFnFunction (opens new window) The assertion function to execute.customErrorMsgstring (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
targetDataany The data to check.aboveThanany The value that the target data should be above.customErrorMsgstring (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
targetDataany The data to check.belowThanany The value that the target data should be below.customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.
# softExpectContain
Softly asserts that a value contains the expected value.
# Parameters
actualValueany The actual value.expectedValueToContainany The value that should be contained within the actual value.customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.
# softExpectDeepEqual
Softly asserts that two values are deeply equal.
# Parameters
actualValueany The actual value.expectedValueany The expected value.customErrorMsgstring (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
actualValueObject (opens new window) The actual object.expectedValueObject (opens new window) The expected object.fieldsToExcludeArray (opens new window)<string (opens new window)> The fields to exclude from the comparison.customErrorMsgstring (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
supersetArray (opens new window) The array that should contain the expected members.setArray (opens new window) The array with members that should be included.customErrorMsgstring (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
actualValueArray (opens new window) The actual array.expectedValueArray (opens new window) The expected array.customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.
# softExpectEmpty
Softly asserts that the target data is empty.
# Parameters
targetDataany The data to check.customErrorMsgstring (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
actualValueany The actual value.expectedValueToEndWithany The value that the actual value should end with.customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.
# softExpectEqual
Softly asserts that two values are equal.
# Parameters
actualValueany The actual value.expectedValueany The expected value.customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.
# softExpectEqualIgnoreCase
Softly asserts that two values are equal, ignoring case.
# Parameters
actualValuestring (opens new window) The actual string value.expectedValuestring (opens new window) The expected string value.customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.
# softExpectFalse
Softly asserts that the target data is false.
# Parameters
targetDataany The data to check.customErrorMsgstring (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
targetDataany The data to check.propertyNamestring (opens new window) The property name to check for.customErrorMsgstring (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
targetDataany The data to check.propertyNamestring (opens new window) The property name to check for.customErrorMsgstring (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
targetDataany The data to validate.jsonSchemaObject (opens new window) The JSON schema to validate against.customErrorMsgstring (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
targetDataany The data to validate.jsonSchemaObject (opens new window) The JSON schema to validate against.customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.ajvOptionsObject (opens new window) Options to pass to AJV.
# softExpectLengthAboveThan
Softly asserts that the length of the target data is above a specified value.
# Parameters
targetDataany The data to check.lengthAboveThannumber (opens new window) The length that the target data should be above.customErrorMsgstring (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
targetDataany The data to check.lengthBelowThannumber (opens new window) The length that the target data should be below.customErrorMsgstring (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
targetDataany The data to check.lengthnumber (opens new window) The expected length.customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.
# softExpectMatchesPattern
Softly asserts that a value matches the expected pattern.
# Parameters
actualValueany The actual value.expectedPatternany The pattern the value should match.customErrorMsgstring (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
actualValueany The actual value.expectedValueToNotContainany The value that should not be contained within the actual value.customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.
# softExpectNotDeepEqual
Softly asserts that two values are not deeply equal.
# Parameters
actualValueany The actual value.expectedValueany The expected value.customErrorMsgstring (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
actualValueany The actual value.expectedValueToNotEndWithany The value that the actual value should not end with.customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.
# softExpectNotEqual
Softly asserts that two values are not equal.
# Parameters
actualValueany The actual value.expectedValueany The expected value.customErrorMsgstring (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
actualValueany The actual value.expectedValueToNotStartWithany The value that the actual value should not start with.customErrorMsgstring (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
actualValueany The actual value.expectedValueToStartWithany The value that the actual value should start with.customErrorMsgstring (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
targetDataany The data to check.typestring (opens new window) The expected type (e.g., 'string', 'number').customErrorMsgstring (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
targetDataany The data to check.typestring (opens new window) The expected type (e.g., 'string', 'number').customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.
# softExpectTrue
Softly asserts that the target data is true.
# Parameters
targetDataany The data to check.customErrorMsgstring (opens new window) A custom error message to display if the assertion fails.