자바 스크립트 단위 테스트를 위해 Phantomjs와 Jasmine을 사용하고 싶습니다. Phantomjs의 웹 사이트에서는이 문제를 처리하기 위해 별도의 것을 사용하도록 권장합니다. 구체적으로 PhantomJasmine입니다. PhantomJasmine을 다운로드하고 예제를 실행했습니다. 모든 것이 완벽하게 진행되었습니다. 그런 다음 var system = require('system');
행을 example_spec.js의 맨 위에 추가했습니다. Phantomjs는 이제 "ReferenceError : 변수를 찾을 수 없습니다 : require"라는 예제를 실행하려고하면 오류가 발생합니다. 그래서 브라우저를 시작하는 것과 같은 일을하고 싶지만 jasmine과 phantomjs 구문을 결합 할 수없는 것 같습니다. Phantomjs를 사용하여 순수 재스민 만 실행할 수 있습니다. 같은 파일에서 어떻게 둘 다 사용할 수 있습니까? like :PhantomJS PhantomJasmine을 사용할 때 "변수를 찾을 수 없습니다 : 필요"
console.log('Loading a web page');
var page = new WebPage();
var url = "http://www.phantomjs.org/";
page.open(url, function (status) {
//Page is loaded!
describe("A suite", function() {
it("contains spec with an expectation", function() {
expect(true).toBe(true);
});
});
phantom.exit();
});
https://github.com/cowboy/grunt
나는 내 파일을 구분해야합니다. 같은 오류가 발생합니다. html 파일의 내 head 태그 내부 내용은 다음과 같습니다. 여기서 execPage.js에는 순수한 phantomjs 코드가 들어 있으며 jaztest1에는 순수한 재스민 코드가 들어 있습니다. 나는 또한 그루트를 들여다 보았다. 팬텀 js로 Jasmine을 실행하는 것도 또 다른 방법입니다. Jasmine 및 Phantomjs 스크립트를 서로 실행하는 방법을 알아야합니다. 예 : 페이지로 이동하고 jasmine을 실행합니다. – Hohohodown나는 문제가 더 좋아지고 있다고 생각한다. 시나리오는 다음과 같습니다. tests.js는 재스민 테스트입니다. google.com으로 이동하여 검색 창에 표시되는지 확인하고 싶습니다. google.com에는 재스민이 포함되어 있지 않습니다. 어떻게해야합니까? – Hohohodown
PhantomJS가 아니라 html 페이지에서 jasmine 스크립트를 호출하십시오. 기본적으로 재스민 테스트를 수동으로 실행하고 해당 HTML 페이지의 URL을 PhantomJS로 전달하여 명령 줄에서 실행하려는 경우처럼 정확하게 설정합니다. – Creynders