분명히하기 위해, 나는 casperJS 스크립트에서 확장자 sugar.js을 사용하고 싶다. (테스트중인 웹 사이트의 일부와 구별된다.)CasperJS와 함께 sugar.js를 사용하는 방법?
차이가있는 경우 테스트 모드에서 casperJS (즉, casperjs test myscript.js
)를 사용하고 있습니다.
분명히하기 위해, 나는 casperJS 스크립트에서 확장자 sugar.js을 사용하고 싶다. (테스트중인 웹 사이트의 일부와 구별된다.)CasperJS와 함께 sugar.js를 사용하는 방법?
차이가있는 경우 테스트 모드에서 casperJS (즉, casperjs test myscript.js
)를 사용하고 있습니다.
기본적으로 Sugar는 지원 라이브러리입니다. 함수를 내보내는 것이 아니라 JavaScript 런타임의 다양한 유형의 객체에 함수를 추가합니다.
단계 : 스크립트 디렉토리 또는 다른 디렉토리에
require("sugar.min");
require("./relativePath/sugar.min");
에서 파일을 실행합니다.
casper.test.begin("sugar1", function suite(test){
test.assertTrue(![1,2,3].average, "average function does not exist");
require("sugar.min");
test.assertFalse(![1,2,3].average, "average function does exist");
test.assertTrue([1,2,3].average() === 2, "average function works");
test.done();
});
require
로드 모듈에 보통이지만, 설탕 아무것도 내 보내지 않기 때문에 그냥 실행됩니다
다음 전체 스크립트가 작동하는지 보여줍니다. 다른 방법으로는 fs.read
및 eval
으로 파일을 읽는 것입니다.
Artjom의 답변에 대한 추가 정보. SlimerJS를 엔진으로 사용할 때 require
을 사용할 때 멈 춥니 다. 드롭 인 교체로
var fs = require('fs');
var sugarJS = fs.read("/path/to/sugar.min.js");
eval(sugarJS);
을 위해 :
require("/path/to/sugar.min");
완벽한을 나는 다음과 같은 사용 (PhantomJS 및 SlimerJS 모두) 작업있어! 그리고 내가 깨달은 것보다 쉬웠다. (필자는'require '를 상대 경로와 함께 사용했고, 처음에는 작동했습니다.) –
'require'는 꽤 중요한 말입니다. JSON 파일이 필요한 경우 직접 파싱하고 내보낼 수 있습니다. –
Artjom, 나는'require'를 사용하여'fs.read()'와'eval'로 전환했습니다; 아래 내 대답을 참조하십시오. –