예제 2-20 다양한 조건으로 규칙 테스트
// __tests__/password-rules.spec.js
describe('one uppercase rule', () => {
test('given no uppercase, it fails', () => {
const result = oneUpperCaseRule('abc');
expect(result.passed).toEqual(false);
});
test('given one uppercase, it passes', () => {
const result = oneUpperCaseRule('Abc');
expect(result.passed).toEqual(true);
});
test('given a different uppercase, it passes', () => {
const result = oneUpperCaseRule('aBc');
expect(result.passed).toEqual(true);
});
});
예제 2-20에서 중복된 부분을 굵게 표시했다. 두 번째와 세 번째 테스트는 입력 값이 약간만 다를 뿐 근본적으로는 같은 테스트라고 볼 수 있다.