장고 앱에 대한 몇 가지 테스트를 작성 했으므로 코드를 구조화하는 것이 가장 확실하지 않습니다.장고가 다른 페이지/동작에 의존하는지 테스트합니다.
로그인 페이지와 로그인 한 사용자 전용 페이지가 있습니다. 내 첫 번째 계획은 이전 방법은 페이지를 테스트 로그인 등록하고 나중에 방법을 사용 수행하는 것이 었습니다 :
def test_register_page(self):
//send request to register page and check user has been registered correctly
def test_restricted_page(self):
c = Client();
c.login("someUser","pass");
c.post("/someRestrictedPage/");
//Test response
그러나이 지금 내 테스트 중 하나가 다른에 의존하는 것을 의미합니다.
내가 볼 수있는 대안은 setUp()에서 register를 호출하는 것이지만 여전히 제한된 페이지 테스트가 레지스터 페이지 작업에 의존한다는 것을 의미합니다.
설치 프로그램에서 수동으로 새 사용자를 만들 수도 있습니다.이 사용자는 시스템에서 만든 사용자를 테스트하지 않기 때문에 마음에 들지 않습니다.
이런 상황을 테스트하기위한 일반적인 패턴은 무엇입니까?
내가 명확하지 않으면 죄송합니다. 이것들은 로그인 된 사용자에 대한 액세스를 제한하고 다른 사용자는 사용자 등록을 테스트하는 두 개의 개별 단위 테스트로되어 있습니다. setup()과 같은 소리는 테스트를 위해 수동으로 사용자를 생성해야합니다. 당신의 도움을 주셔서 감사합니다. – Jim
@Jim :이 주제에서 흥미로운 부분이 있다면 장고에서 단위 테스트를 수행하는 멋진 토론이 있습니다. 특히 테스트 용으로 객체를 만드는 데 편리한 방법을 보여줍니다. https://www.youtube.com/watch?v=ickNQcNXiS4&context = C44039cbADvjVQa1PpcFPQunG_ULh73WnDAl7g7Y8JDYIDmeEZjYQ = –