export function twoFer( arg : string ): string { if( arg !== "") { return "One for " + arg + ", one for me."; } return "One for you, one for me." ; }No soy capaz de entender lo que estoy haciendo mal. Esto está fallando en el caso en que no se proporciona ningún argumento.
describe('TwoFer', () => { it('no name given', () => { const expected = 'One for you, one for me.' expect(twoFer()).toEqual(expected) }) })Producción:
TEST FAILURE Error: expect(received).toEqual(expected) // deep equality Expected: "One for you, one for me." Received: "One for undefined, one for me."Un parámetro de cadena no especificado no contiene una cadena vacía; contiene undefined . Te gustaría algo como esto:
export function twoFer(arg?: string): string { if(typeof arg !== "undefined") { return "One for " + arg + ", one for me."; } return "One for you, one for me."; }ACTUALIZAR:
Alternativamente, puede hacer que arg sea un parámetro con un valor predeterminado para reducir la redundancia.
export function twoFer(arg = "you"): string { return "One for " + arg + ", one for me."; }