2010-06-29 2 views
0

저는 TDD를 처음 사용하고 있으며 일을 올바르게 수행하는 방법을 배우려고합니다. 그래서 HTML5의 localStorage에 사용자의 정보를 저장하는 웹 브라우저 확장을위한 자바 스크립트 클래스를 만들어야합니다 (이 클래스는 UserInfoStorage이라고 부릅니다). 그러나 내 확장 프로그램은 브라우저 간 호환이 가능하고 브라우저 간에는 localStorage과 상호 작용하는 방법이 다릅니다 (Chrome, Firefox, Safari).TDD 원칙을 사용하여 올바른 방법은 무엇입니까?

각 브라우저마다 다른 Storage 클래스를 만들고 UserInfoStorage을 사용하여 localStorage에 물건을 저장해야합니까? UserInfoStorage에 대한 테스트를 Storage 구현에 묶지 않고 어떻게 테스트 할 수 있습니까?

감사합니다.

답변

0

나는이 작업을 수행하는 가장 좋은 방법은 테스트 (가지 테스트 데이터베이스 같은) 기본 getset 기능이 Storage를 만들고, 저장하고 데이터를 검색하기 위해이 UserInfoStorage 사용을하는 것입니다 것을 깨달았다. 이것은 Storage의 구현에 묶지 않고 UserInfoStorage의 인터페이스를 직접 테스트 할 수 있으므로 UserInfoStorage이 작동하는 방식을 변경하면 Storage과 올바르게 상호 작용하는지 테스트하지 않기 때문에 테스트가 유효합니다. UserInfoStorage의 기능은 원하는 결과를 생성합니다).

2

일반적으로 테스트중인 저장소를 모방하여 UserInfoStorage가 올바르게 상호 작용하는지 확인하십시오. 그것들은 UserInfoStorage에 대한 단위 테스트의 일부를 구성합니다. 그런 다음 브라우저마다 저장소 구현마다 별도의 단위 테스트를 수행하고 관련된 브라우저에 따라 제공 할 Storage 구현을 결정하는 코드를 테스트하는 것이 이상적입니다.

관련 문제