Próbowałem ukryć tag <audio>
za pomocą testów automatycznych, aby rozpocząć, aby potwierdzić, że gra.Jak przetestować dźwięk?
Używam zwykłego zestawu testów kątowych, karmy i kątomierza.
"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"
}
Na stronie Karma kwestia jest taka, że nie mógł znaleźć sposobu dodawania zasobów do potencjalnie wykorzystać w testach więc nie ma pliku do odtwarzania w środku. Jeśli istnieje sposób na wskazanie pliku do odtworzenia, nie powinno to być problemem, ponieważ mógłbym po prostu sprawdzić właściwość elementu w postaci paused
.
Po stronie 2e2 rzeczy znajduje się aplikacja demo, która działa doskonale, test może załadować ją w porządku, a kliknięcie jednego przycisku nie generuje żadnych błędów (uruchamia dźwięk, jeśli spróbujesz go ręcznie). Jednak patrząc na API kątomierza, nie mogłem znaleźć niczego, co pozwoliłoby mi upewnić się, że dźwięk rzeczywiście gra, lub pozwala mi uzyskać dostęp do elementu, ponieważ nawet document
i angular
nie są dostępne tutaj (co ma sens jako test 2e2) lub po prostu API do sprawdzania właściwości elementu.
beforeEach(function() {
browser.get("index.html")
});
it("Ensure the player is playing", function() {
$$("button").first().click();
// what to do?
});
myślałem o możliwie szyderczy API dźwięku i po prostu fałszywe właściwości aktualizowany ale ja wciąż testuje przeciwko mojego kodu i currentTime
byłoby bardzo trudne do makiety dokładnie kiedy mój koniec celem jest przetestowanie dźwięk w spriterze dźwiękowym zaczyna się i kończy w oczekiwanym momencie.
Idealnie chciałbym to uwzględnić w testach jednostkowych, gdzie powinno być, więc możliwość wykorzystania zasobów roboczych byłaby idealna. Aby prosty expect(!element[0].paused).toEqual(true);
wystarczy wiedzieć, że gra.
Jak mogę podać plik w testach jednostkowych, aby można go było wykorzystać jako źródło dźwięku?
Czy sprawdzenie znacznika audio ma wartość 0:00 wystarczającą? –
W przypadku, gdy możesz odtwarzać plik, wtedy 'paused' powinno wystarczyć i tak sprawdzanie' currentTime' nie jest '0' też by działało, ale problemem jest to, że w testach nie ma pliku do odtworzenia (can ' • znaleźć sposób, aby mu służyć), aby te właściwości nigdy się nie zmieniły. – GillesC
ah sorry miss rozumiem, będę musiał pomyśleć przepraszam –