Do przetestowania mam metodę, która wysyła loga (np. self.logger.info("No elo")), gdy wykona się jakiś event (np. ruch myszką).
I tutaj mam pytanko - jak zrobić unittest, który nasłuchuje logów? Jak można obserwować logi z osobnego loggera i odpowiednio "reagować" na jakiś napotkany log?
@ProfesorBigos: hmmm... Tylko zastanawiam się jak to zrobić. To może powiem więcej. Temat jest związany z CV (OpenCV + GStreamer). Moja klasa ma obsługiwać kod stworzony przez kolegów, jednocześnie nasłuchując eventy z GStreamera.
Mój cel jest taki, by zrobić test, że jak na obrazie pojawi się porządany obiekt to wtedy mam przechwycić logi z GStreamera.
@SuperStefan: Jednak skłaniam się w stronę tego ze ten kod jest złe zaprojektowany. Unit test nie powinien nigdy się opierać o system plików. Wystarczy ze będziesz miał niska wartość ulimit albo maszyna biuldowa będzie odpala dużo procesów i test Ci się wywali.
@SuperStefan: najładniej jest przekazać logger w konstruktorze w czasie tworzena MirClass (to tak zwane Dependency Injection). Dzięki temu twoja klasa nie wie, gdzie loguje: loggerem może być jakiś logger do pliku, standardowy, albo taki, który możesz sobie zamockować w testach.
Ziąą z teamu obok dał mi sugestię, by zapisywać logi do pliku, a potem na ich podstawie wyczytać czy oczekiwany event został zalogowany
Szanowne Mireczki! Mam pytanie dotyczące unittestów oraz logowania za pomocą modułu logging.
Mam sobie klasę, nazwijmy ją MirClass. Ta klasa ma zrobionego loggera:
Do przetestowania mam metodę, która wysyła loga (np. self.logger.info("No elo")), gdy wykona się jakiś event (np. ruch myszką).
I tutaj mam pytanko - jak zrobić unittest, który nasłuchuje logów? Jak można obserwować logi z osobnego loggera i odpowiednio "reagować" na jakiś napotkany log?
Pozdrawiam serdecznie!
Mój cel jest taki, by zrobić test, że jak na obrazie pojawi się porządany obiekt to wtedy mam przechwycić logi z GStreamera.
Także dumam i dumam 乁(⫑ᴥ⫒)ㄏ
@SuperStefan: super porada (╯
który będzie wrzucał logi do kolejki.