나는 자동 테스트에 의해 <audio>
태그를 처리하려고 시도했는데, 단지 그것이 재생되고 있음을 확인하기 위해 시작되었습니다.소리를 테스트하는 방법은 무엇입니까?
저는 일반적인 각도 테스트 스위트 인 카르마와 각도기를 사용하고 있습니다. 문제는 내가 어떤 파일이에서 재생되지 할 수 있도록 잠재적 테스트에서 사용하는 리소스를 추가 할 수있는 방법을 찾을 수 없습니다입니다 카르마 측면에서
"devDependencies": {
"karma": "~0.10",
"protractor": "~0.20.1",
"http-server": "^0.6.1",
"bower": "^1.3.1",
"shelljs": "^0.2.6",
"karma-junit-reporter": "^0.2.2",
"grunt": "~0.4.1",
"grunt-contrib-uglify": "~0.2.0",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-watch": "~0.4.3"
}
. 재생할 파일을 가리키는 방법이 있다면 요소의 속성 인
paused
을 간단히 확인할 수 있으므로 문제가되지 않습니다.
2e2 쪽에서는 완벽하게 작동하는 데모 앱이 있습니다. 테스트에서 제대로로드 할 수 있으며 버튼 중 하나를 클릭해도 오류가 발생하지 않습니다 (수동으로 시도하면 소리가납니다). 그러나 분도기 API를 살펴보면 사운드가 실제로 재생되고 있는지 또는 심지어 document
및 angular
(여기서는 2e2 테스트와 같은 의미로 사용됨) 또는 요소에 액세스 할 수 있도록 허용 할 수있는 항목을 찾을 수 없었습니다. 요소 속성을 검사하는 API
beforeEach(function() {
browser.get("index.html")
});
it("Ensure the player is playing", function() {
$$("button").first().click();
// what to do?
});
나는 아마도 오디오 API를 조롱하고 단순히 가짜 속성이 업데이트되고하지만 난 여전히 내 코드에 대한 테스트하고있어 및 currentTime
내 최종 목표는 테스트 할 때 정확하게 조롱하기가 매우 어려울 것이라고 생각했다 오디오 스프라이트의 사운드가 예상대로 시작 및 중단됩니다.
이상적으로는 단위 테스트에서 그것을 다루고 싶습니다. 따라서 작업 리소스를 사용할 수 있다는 것이 이상적 일 것입니다. 따라서 간단한 expect(!element[0].paused).toEqual(true);
은 재생 중임을 알 수 있습니다.
단위 테스트에서 파일을 오디오 소스로 사용하려면 어떻게해야합니까?
오디오 태그를 확인하는 것이 0 시가되지 않았습니까? –
파일을 재생할 수있는 경우'paused'가 충분해야하고'currentTime'이'0'도 아닌지 확인하는 것이 효과적 일 것입니다. 그러나 여기서 문제는 테스트에서 재생할 파일이 없습니다 (' 하나를 제공하는 방법을 찾지 못함) 그러한 속성은 절대로 바뀌지 않습니다. – GillesC
아, 미안하다, 미안하다. –