run / waitsFor 블록에 의존하지 않고이 테스트를 통과하려면 어떻게해야합니까?
it("cannot change timeout", function(done) {
request("http://localhost:3000/hello", function(error, response, body){
expect(body).toEqual("hello world");
done();
});
});
답변
Jasmine 문서 에 따라 사양에서 직접 설정할 수 있습니다 .
describe("long asynchronous specs", function() {
var originalTimeout;
beforeEach(function() {
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
});
it("takes a long time", function(done) {
setTimeout(function() {
done();
}, 9000);
});
afterEach(function() {
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
});
});
답변
이 기능에 대한 풀 요청을 보냈습니다 ( https://github.com/mhevery/jasmine-node/pull/142 )
it("cannot change timeout", function(done) {
request("http://localhost:3000/hello", function(error, response, body){
expect(body).toEqual("hello world");
done();
});
}, 5000); // set timeout to 5 seconds
답변
전역 Jasmine-Node 시간 제한을 설정하려면 다음을 수행하십시오.
jasmine.getEnv().defaultTimeoutInterval = timeoutYouWouldPrefer;// e.g. 15000 milliseconds
jasmine.DEFAULT_TIMEOUT_INTERVAL을 설정하여 완료되었다고 주장 하는 README 문서 의 잘못된 정보에도 불구하고 디버깅을 통해 .getEnv () 부분을 알아 낸 개발자 Gabe Hicks에게 감사드립니다 .
하나의 it ()에 대해서만 사용자 지정 시간 제한을 설정하려면 시간 제한 (밀리 초)을 세 번째 인수 (문자열 문과 함수 뒤)로 전달해 볼 수 있습니다. 이 수행되고 있음을의 예 여기에 ,하지만 사용자 정의 제한 시간이 더 이상 재스민의 기본값이 아닌 있다면 무슨 일이 일어날 지 모르겠어요. 실패 할 것으로 예상합니다.
답변
이제 it
함수 의 마지막 인수로 추가 할 수있는 것 같습니다.
describe('my test', function(){
it('works', function(done){
somethingAsync().then(done);
}, 10000); // changes to 10 seconds
});
답변
Angular에서 다음을 설명 블록 외부에 넣으십시오.
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
.spec.ts 파일의 모든 테스트에 적용됩니다.
답변
describe
문장 뒤에 넣어 :
describe("A saves to DB", function() {
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
답변
추가 : jasmine.DEFAULT_TIMEOUT_INTERVAL = yourTime;
도우미 파일에서 나를 위해 일했습니다.