Editing
První unit test bez zbytečné paniky: praktický průvodce
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Když už máte funkční skript, přichází na řadu další typický problém: spouštění v pravidelných intervalech. Místo ručního spouštění můžete využít plánovač úloh v operačním systému (např. na Windows nebo cron na Linuxu). Skript uložte jako .py a v plánovači nastavte příkaz, který ho spustí. Dejte si pozor na to, aby skript běžel s absolutními cestami, a pokud potřebujete, aby se okno nezobrazovalo, použijte pythonw místo python. Tím se vyhnete tomu, že se vám otevře konzole při každém spuštění.<br><br>Začněte u nejmenší možné jednotky — u funkce, která nemá žádné vedlejší efekty. Ideální je funkce, která na základě vstupu vrací výstup. Například funkce pro výpočet plochy kruhu, převod měny nebo validaci e-mailu. Takové funkce jsou snadno testovatelné, protože je nemusíte mockovat ani nastavovat komplikované prostředí. Vytvořte si testovací soubor, importujte funkci a napište první test, který ověří známý výsledek. Pokud funkce vrací číslo, porovnávejte s přesností na desetinná místa, [https://Www.newsweek.com/search/site/pokud%20vrac%C3%AD pokud vrací] řetězec, porovnávejte přesně.<br><br>Nejčastější chyby při psaní prvního testu První past: testy, které závisí na pořadí, ve kterém se spouštějí. Jeden test mění globální stav, druhý na to spoléhá. To je cesta do pekla. Testy musí být izolované. Pokud testujete funkci, která pracuje s databází, použijte čistou testovací databázi, kterou po každém testu smažete. Druhá past: testování příliš mnoha věcí najednou. Test, který ověřuje tři různé scénáře, je těžké opravit, když selže. Rozdělte ho na tři samostatné testy. Třetí past: testování interních detailů, jako jsou privátní proměnné. Testujte veřejné API funkce, ne to, [http://orasch.com/index.php?title=Jak_spr%C3%A1vn%C4%9B_strukturovat_testy_pomoc%C3%AD_testovac%C3%AD_pyramidy jak zařídit malou kuchyni] je implementovaná.<br><br>Na co si dát při nasazení pozor Nejčastější chyba bývá přenos SQL myšlení do NoSQL. Mnoho vývojářů se snaží využít dokumentové databáze k modelování vztahů mezi entitami jako v SQL: vytvářejí separátní kolekce a spojují je přes reference. To je sice možné, ale zabijete tím hlavní výhodu – rychlost. V NoSQL byste měli data ukládat tak, jak je budete číst. Pokud potřebujete zobrazit příspěvek spolu s autorem, uložte informace o autorovi přímo do dokumentu příspěvku. Tím se vyhnete drahým JOINům, které v NoSQL neexistují. Mnohem lepší je denormalizace: obětujete konzistenci dat, ale získáte rychlost a jednoduchost.<br>Nejdřív si udělejte pořádek v hlavě: co je NoSQL vlastně zač? Pod tímto označením se skrývá několik rodin – dokumentové (např. MongoDB), key-value (např. Redis), sloupcové (např. Cassandra) a grafové (např. Neo4j). Každá z nich řeší jiný problém. Dokumentový model je vhodný [https://citiesofthedead.net/index.php/Jak_rozvrhnout_odhad_%C4%8Dasu_mezi_anal%C3%BDzu_a_implementaci_v_agiln%C3%ADm_t%C3%BDmu rady pro rekonstrukci] obsahově bohatá data s proměnlivou strukturou, key-value pro rychlou čtení podle klíče, sloupcová úložiště pro obrovské analytické dotazy a grafové databáze pro data s hustou sítí vztahů. Pokud si nejste jisti, který typ je pro vás vhodný, začněte dokumentovým modelem – je nejuniverzálnější a nejbližší běžnému JSON formátu.<br><br>Další pastí je transakční zpracování. Relační databáze mají ACID transakce, které zajišťují, že buď proběhne celá operace, nebo se nic nestane. V NoSQL se [https://www.Search.com/web?q=setk%C3%A1te setkáte] s tzv. BASE modelem (Basically Available, Soft state, Eventually consistent) – tedy s tím, že data nemusejí být okamžitě konzistentní, ale časem se sjednotí. To je důvod, proč NoSQL není ideální pro bankovní systémy nebo rezervační systémy, kde potřebujete absolutní jistotu. Pokud takovou aplikaci stavíte, raději zůstaňte u SQL. Pokud ale jdete do NoSQL, připravte se na to, že musíte sami vyřešit, jak se vypořádáte s nekonzistencí – třeba tak, [http://Miklagaard.no/index.php?title=Jak_rozum%C4%9Bt_NoSQL_a_kdy_ho_nasadit Http://Miklagaard.No/Index.Php?Title=Jak_RozuměT_NoSQL_A_Kdy_Ho_Nasadit] že v aplikaci kontrolujete stav a případně opakujete operace.<br><br>CSS připojíte správně, když dodržíte tři pravidla Propojení CSS s HTML uděláte třemi způsoby. Nejpoužívanější je externí soubor, který odkážete v hlavičce pomocí značky . Interní styly píšete přímo do<br><br>If you have any type of inquiries concerning where and just how to use [http://Orasch.com/index.php?title=Jak_testovat_mobiln%C3%AD_aplikace:_praktick%C3%BD_pr%C5%AFvodce Rekonstrukce Bytu], you can call us at our web page.<br>
Summary:
Please note that all contributions to Rikkiepedia may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Rikkiepedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information