Aktywne Wpisy

sebolson +1
Dobry,
Walczę od dłuższego czasu (rok) z problemem cofania zapłonu do dolotu podczas zimnego rozruchu. Problem nie zawsze występuje. Około raz na 10 odpalen. Auto to BMW E46 z silnikiem m54b22.
Dolot sprawdzony dymiarka i nieszczelności zostały wyeliminowane (korekty długoterminowe od 3 do 4%)
Disa zregenerowana
Nowa pompa paliwa oraz filtr paliwa
Wymienione uszczelki na vanosie
Walczę od dłuższego czasu (rok) z problemem cofania zapłonu do dolotu podczas zimnego rozruchu. Problem nie zawsze występuje. Około raz na 10 odpalen. Auto to BMW E46 z silnikiem m54b22.
Dolot sprawdzony dymiarka i nieszczelności zostały wyeliminowane (korekty długoterminowe od 3 do 4%)
Disa zregenerowana
Nowa pompa paliwa oraz filtr paliwa
Wymienione uszczelki na vanosie


Cedrik +42
źródło: 1000094607
Pobierz




Mam bardzo prostą metodę w klasie:
def save_to_file(self, path):try:
with open(path, 'w') as file:
file.write(json.dumps(self.data, indent=4))
except PermissionError:
print(f"no permissions to save the file in {path}")
Chcę odpalić unit test:
def test_write_to_file_without_permissions(self):d = data_getter(LoadFromFile=True, data_path='data.json')
self.assertRaises(PermissionError, d.save_to_file, 'no_permissions_to_write/data.json')
Problem jest taki, że jeżeli zostawię blok except w metodzie, to wtedy unit test go nie łapie. Jeżeli wyrzucę nowy error w bloku except, to zaliczam test, ale sam program wtedy się będzie wywalać.
W jaki sposób mogę zachować block except, żeby test case wykrywał że dostałem w ryj wyjątkiem nieobsłużonym?
request = json.load(sys.stdin)url = "[https://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?"](https://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?")
response = requests.get(url, params = request).json()
print(json.dumps(response))
zamieniłem pliki na stdin/stdout, bo jest prościej i zgodnie z UNIXową filozofią
https://pastebin.com/t0xUf4Qv
get_data_from_apima sens jak i tak musisz podać scieżkę do configa, a można byłoby to zrobić jako argument funkcji. Nie można użyć request.json(), tylko text parsować do jsona i jeszcze troche@CancerLight: exit code. Przyjęło się że cokolwiek co jest różne od 0 oznacza nieprawidłowe zakończenie programu. Całość wzięła się bodajże jeszcze z języka C, gdzie return był używany w głównej funkcji, żeby zakończyć ją w wypadku błędu (zwykle używano czegoś w stylu return -1, jako indykator błędu).
Komunikat o błędzie w formie stringa jest różny od 0, i użytkownik dostaje od razu komunikat że coś jest nie tak.
Mam