🛠 Development in progress
This library is a wrapper around nodejs "assert" module
The main porpuse is build new assertion library with soft assertions based on "assert" module
allure/any other reporter ready
const { expect} = require ( 'assertior' ) ;
describe ( 'Suite' , function ( ) {
it ( 'soft toEqual positive' , function ( ) {
const val = 2 ;
expect . soft ( val ) . toEqual ( 2 ) ;
} ) ;
it ( 'soft toDeepEqual positive' , function ( ) {
const val = { a : 2 , b : 3 , c : [ 1 , 2 , 3 ] } ;
expect . soft ( val ) . toDeepEqual ( { a : 2 , c : [ 1 , 2 , 3 ] , b : 3 } ) ;
} ) ;
} ) ;
mocha example with allure
// Allure step
function allureStep ( stepAssertionName : string , error , expected , current ) {
const step = allure . startStep ( stepAssertionName ) ;
allure . attachment ( 'Expected value' , JSON . stringify ( expected , null , 2 ) , 'application/json' ) ;
allure . attachment ( 'Current value' , JSON . stringify ( current , null , 2 ) , 'application/json' ) ;
if ( error ) {
allure . attachment ( 'Error' , JSON . stringify ( error , null , 2 ) , 'application/json' ) ;
}
step . step . stepResult . status = error ? 'broken' : 'passed' ;
step . endStep ( ) ;
}
const { expect, initStepDeclarator} = require ( 'assertior' ) ;
initStepDeclarator ( allureStep ) ;
describe ( 'Suite' , function ( ) {
it ( 'soft toEqual positive' , function ( ) {
const val = 2 ;
expect . soft ( val ) . toEqual ( 2 ) ;
} ) ;
it ( 'toDeepEqual positive' , function ( ) {
const val = 2 ;
expect ( val ) . toDeepEqual ( 2 ) ;
} ) ;
} ) ;
const { expect} = require ( 'assertior' ) ;
expect ( [ { foo : 'bar' } ] ) . toDeepEqual ( [ { foo : 'bar' } ] ) ;
const { expect} = require ( 'assertior' ) ;
expect ( [ { foo : 'bar' } ] ) . toNotDeepEqual ( [ { foo : 'foo' } ] ) ;
const { expect} = require ( 'assertior' ) ;
expect ( 'bar' ) . toEqual ( 'bar' ) ;
const { expect} = require ( 'assertior' ) ;
expect ( 'bar' ) . toNotEqual ( 'foo' ) ;
const { expect} = require ( 'assertior' ) ;
expect ( [ ] ) . toBeEmptyArray ( ) ;
const { expect} = require ( 'assertior' ) ;
expect ( 10 ) . isGreaterThan ( 9 ) ;
const { expect} = require ( 'assertior' ) ;
expect ( [ 1 , 2 , 3 ] ) . arrayHasLengthAbove ( 2 ) ;
const { expect} = require ( 'assertior' ) ;
expect ( [ 1 , 2 , 3 ] ) . toBeNotEmptyArray ( ) ;
const { expect} = require ( 'assertior' ) ;
expect ( { foo : 'bar' } ) . objectIncludesKeys ( [ 'foo' ] ) ;
const { expect} = require ( 'assertior' ) ;
expect ( { foo : 'bar' } ) . hasType ( 'object' ) ;
expect ( [ ] ) . hasType ( 'array' ) ;
expect ( null ) . hasType ( 'null' ) ;
const { expect} = require ( 'assertior' ) ;
expect ( 'foo' ) . stringIncludesSubstring ( 'foo' ) ;
stringNotIncludesSubstring
const { expect} = require ( 'assertior' ) ;
expect ( 'foo' ) . stringNotIncludesSubstring ( 'foo' ) ;
const { expect} = require ( 'assertior' ) ;
expect ( { a : 1 } ) . objectIsNotEmpty ( 'foo' ) ;
const { expect} = require ( 'assertior' ) ;
expect ( { a : 1 } ) . objectIsEmpty ( 'foo' ) ;
const { expect} = require ( 'assertior' ) ;
expect ( 'test' ) . stringIsNotEmpty ( ) ;
const { expect} = require ( 'assertior' ) ;
expect ( 9 ) . isLessThan ( 10 ) ;
const { expect} = require ( 'assertior' ) ;
expect ( '' ) . stringIsEmpty ( ) ;
const { expect} = require ( 'assertior' ) ;
expect ( Promise . resolve ( 'test' ) ) . toBePromise ;
const { expect} = require ( 'assertior' ) ;
expect ( Symbol ( 'test' ) ) . toBeSymbol ;
const { expect} = require ( 'assertior' ) ;
expect ( [ ] ) . toBeArray ;
const { expect} = require ( 'assertior' ) ;
expect ( false ) . toBeBool ;
const { expect} = require ( 'assertior' ) ;
expect ( async ( ) => ( { } ) ) . toBeAsyncFunction ;
const { expect} = require ( 'assertior' ) ;
expect ( ( ) => ( { } ) ) . toBeFunction ;
const { expect} = require ( 'assertior' ) ;
expect ( new Set ( ) ) . toBeSet ;
const { expect} = require ( 'assertior' ) ;
expect ( undefined ) . toBeUndefined ;
const { expect} = require ( 'assertior' ) ;
expect ( 1 ) . toBeNumber ;
const { expect} = require ( 'assertior' ) ;
expect ( null ) . toBeNull ;
const { expect} = require ( 'assertior' ) ;
expect ( { } ) . toBeObject ;
const { expect} = require ( 'assertior' ) ;
expect ( '' ) . toBeString ;
const { expect} = require ( 'assertior' ) ;
expect ( [ 12 , 23 ] ) . arrayIncludesMembers ( 23 ) ;
const { expect} = require ( 'assertior' ) ;
expect ( [ 12 , 23 ] ) . arrayNotIncludesMembers ( 25 ) ;
const { expect} = require ( 'assertior' ) ;
expect ( 'test' ) . toMatchRegex ( / t / ig) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( 'bar' ) . toEqual ( 'bar' ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( { a : 'bar' } ) . toDeepEqual ( { a : 'bar' } ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( 'bar' ) . toNotEqual ( 'foo' ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( [ { a : 'foo' } ] ) . toNotDeepEqual ( [ { a : 'bar' } ] ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( [ ] ) . toBeEmptyArray ( ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( [ 1 , 2 , 3 ] ) . toBeNotEmptyArray ( ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( { foo : 'bar' } ) . objectIncludesKeys ( [ 'foo' ] ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( { foo : 'bar' } ) . hasType ( 'object' ) ;
expect . soft ( [ ] ) . hasType ( 'array' ) ;
expect . soft ( null ) . hasType ( 'null' ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( 'foo' ) . stringIncludesSubstring ( 'foo' ) ;
stringNotIncludesSubstring
const { expect} = require ( 'assertior' ) ;
expect . soft ( 'foo' ) . stringNotIncludesSubstring ( 'foo' ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( { a : 1 } ) . objectIsNotEmpty ( 'foo' ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( { a : 1 } ) . objectIsEmpty ( 'foo' ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( 'test' ) . stringIsNotEmpty ( ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( '' ) . stringIsEmpty ( ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( 10 ) . isGreaterThan ( 9 ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( 9 ) . isLessThan ( 10 ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( Promise . resolve ( 'test' ) ) . toBePromise ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( Symbol ( 'test' ) ) . toBeSymbol ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( false ) . toBeBool ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( async ( ) => ( { } ) ) . toBeAsyncFunction ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( ( ) => ( { } ) ) . toBeFunction ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( new Set ( ) ) . toBeSet ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( undefined ) . toBeUndefined ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( 1 ) . toBeNumber ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( null ) . toBeNull ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( { } ) . toBeObject ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( '' ) . toBeString ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( [ ] ) . toBeArray ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( 'test' ) . toMatchRegex ( / t / ig) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( [ 12 , 23 ] ) . arrayIncludesMembers ( 23 ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( [ 12 , 23 ] ) . arrayNotIncludesMembers ( 25 ) ;
const { expect} = require ( 'assertior' ) ;
expect . soft ( [ 1 , 2 , 3 ] ) . arrayHasLengthAbove ( 2 ) ;