나는 모카의 only
방법을 모르는 사람들을 위해CasperJS에서 특정 테스트를 하나만 실행할 수 있습니까?
it.only "should test something"
에 비슷한 모카 내가 only
CasperJS에서도 비슷한 기능을 수행 할 수 있습니까? 지금은 기술
나는 모카의 only
방법을 모르는 사람들을 위해CasperJS에서 특정 테스트를 하나만 실행할 수 있습니까?
it.only "should test something"
에 비슷한 모카 내가 only
CasperJS에서도 비슷한 기능을 수행 할 수 있습니까? 지금은 기술
성가신 "/ 주석 코멘트"를 사용하고 당신은 인수 옵션을 사용할 수 있습니다
그리고 당신의 casperjs 파일에 casperjs test scriptName.js --only=true
:
if (casper.cli.get("only")){var only=true;}
else {var only=false;}
한 다음 원하는 주장하기 전에 :
if (!only){ test.assertExists(....);}
else {"should test something"}
비슷한 방법으로 반대 작업을 수행 할 수 있습니다.
편집 :
var setLevel = function(level){
if(casper.cli.get("mode") !== level){
casper.test.done();
}
};
casper.test.begin('\n***** Scenario : *****',{
setUp: function(test) {
setLevel("only");
},
test: function(test){
"use strict";
casper.start()
.run(function() {
this.test.comment('--- Done ---\n');
test.done();
});
}
});
: 그것은 당신이 casperjs에게 setUp()
기능을 사용하고 같은 명령 옵션 및 casper.test.done()
을 사용하여 시나리오를 필터링하는) (다른 함수를 호출 할 수있는 시나리오가 있다면
casperjs test path/to/folder --mode="only"
으로 전화를 걸면 레벨이 으로 설정되지 않은 모든 시나리오를 즉시 닫습니다. 그래도 로그를 열어 볼 수 있습니다. 표시하지 않으려면 앞에 casper.test.setUp() 메서드를 사용하십시오. 네, begin()을 호출하기 전에 테스트를 끝내는 것이 이상합니다. 그러나 잘 기억한다면 작동하는 것입니다.
그것은 또한 못생긴 해킹이지만 나에게는 해결책이다. 문제는 모든 파일에 setUp()
과 setLevel()
을 사용해야한다는 것입니다. 어쨌든 그것을 할 네이티브 옵션이 없습니다.
그건 못생긴 해킹이 아니라 해결책이다 –
더보기 ugly 해킹을 참조하십시오 :) – Fanch
casper.test.begin
을 감싸는 두 가지 기능을 직접 만들고 사용하십시오.
testcase.it("something", function suite(test){
test.assert(true);
});
testcase.itOnly("something2", function suite(test){
test.assert(true);
});
testcase.it("something3", function suite(test){
test.assert(true);
});
testcase.build();
출력 될 것입니다 : 당신은 다음이 방법으로 시나리오를 쓸 수
var testcase = (function(casper){
var scenarios = [],
onlySet = false;
return {
it: function(){
if (!onlySet) {
scenarios.push(arguments);
}
},
itOnly: function(){
onlySet = true;
scenarios = [arguments];
},
build: function(){
scenarios.forEach(function(scenario){
casper.test.begin.apply(casper.test, scenario);
});
}
};
})(casper);
: 당신은 실제로 일정은 테스트 (원숭이 패치 버전에 점프 아래 참조) 제 기능을해야합니다 :
# something2
PASS Subject is strictly true
당신은 물론 원숭이의 casper.test
인스턴스를 패치 할 수 있습니다 귀하의 기능 :
(function(casper){
// IIFE to avoid leaking scenarios
var scenarios = [],
onlySet = false,
oldBegin = casper.test.begin;
casper.test.begin = function(){
if (!onlySet) {
scenarios.push(arguments);
}
};
casper.test.beginOnly = function(){
onlySet = true;
scenarios = [arguments];
};
casper.test.build = function(){
scenarios.forEach(function(scenario){
oldBegin.apply(casper.test, scenario);
});
};
})(casper);
casper.test.begin("something", function suite(test){
test.assert(true);
});
casper.test.beginOnly("something2", function suite(test){
test.assert(true);
});
casper.test.begin("something3", function suite(test){
test.assert(true);
});
casper.test.build();
_one test_ 란 무엇입니까? 파일/시나리오, 단계? 단언? 어설 션을 걸러 내시겠습니까? – Fanch
@Fanch 시나리오라고 생각합니다. 나는. 'casper.test.begin' –