2016-06-13 3 views
1

기능 테스트를 위해 setFindTimeout을 얼마나 자주 설정해야합니까?intern.js에서 setFindTimeout을 사용하는 방법

setFindTimeout을 실행할 때 findBy * 메서드 시간 초과를 변경하기 위해 다른 테스트 케이스에 넣어야하는 경우가 있습니다.

-----------------

다른 파일에 여러 패키지가있는 경우 어떻게됩니까? 예를 들어 start.js와 admin.js가 있습니다. 이 경우에도 귀하의 답변이 유효합니까?

start.js

'use strict'; 
define([ 
    'intern!object', 
    'intern/chai!assert', 
    'intern/dojo/node!fs' 
], (registerSuite, assert, fs) => { 
    registerSuite(() => { 
    let testData; 
    let timeout; 
    let testCases; 
    testCases = { 
     name: 'Project Feature Test', 

     'Log into project': function() { 

     this.timeout = 60000 * 5; 

     return this.remote 

      .get(testData['site']) 
      .findByXpath('//a[@href="/saml-redirect"]').click().end() 
      .findById('userName').type(testData['username']).end() 
      .findById('password').type(testData['password']).end() 
      .findById('loginButton').click().end(); 
     }, 
    }; 

    return testCases; 
    }); 
}); 

'use strict'; 

define([ 
    'intern!object', 
    'intern/chai!assert', 
    'intern/dojo/node!fs' 
], (
    registerSuite, 
    assert, 
    fs 
) => { 
    registerSuite(() => { 

    testCases = { 
     name: 'Test Administration Page', 

     'Check User Functions': function() { 
     this.timeout = timeout * 3; 
     return this.remote 
      .sleep(3000) 
      .findByClassName('admin-button').click().end() //goto admin page 
     } 
    }; 
    return testCases; 
    }); 
}); 
+0

질문에 더 많은 배경을 추가하십시오. 일부 코드 일 수 있습니다. 질문이 명확하지 않은 것 같습니다. – RBT

답변

0

setFindTimeout 테스트 세션에 대한 제한을 설정 findBy admin.js. 설정을 마치면 해당 세션에 남아있는 모든 테스트를 통해 또는 setFindTimeout이라는 다른 호출로 변경 될 때까지 새로운 시간 초과 값이 유지됩니다.

+0

안녕하세요 @ jason0x43 내 질문을 업데이트했습니다. – Sani

+0

찾기 타임 아웃은 개별 테스트 스위트가 아닌 세션에 비례합니다. 한 세트에 설정되어 있으면 테스트가 끝날 때까지 다른 모든 스위트를 통해 해당 세션 동안 지속됩니다. 당신은 당신의 코드에서'setFindTimeout'을 호출하는 것처럼 보이지 않습니다. – jason0x43

0

필자가보기에 어떤 파일을 먼저 실행할지 제어 할 수 없다면 어떤 파일이 먼저 실행될 것인지 제어 할 수 없다면 두 파일 모두에서 설정하는 것이 좋습니다. 상위 상위 집합의 before에 자주 한 번 설정합니다.