Testování REST API s databází backend

hlasů
11

Chci vědět, nejlepší / různé způsoby, jak testovat REST API, která používá databázový backend. Já jsem vyvinul svůj API s Baňka v Pythonu a chcete použít unittest nebo nos.

Ale můj problém je, že některé zdroje vyžadují jiný zdroj je vytvořit v první řadě. Existuje způsob, jak říci, že k testování vytvoření blogu vyžaduje, aby se další zkouška, která zahrnuje vytvoření autorem byl úspěšný?

Položena 07/09/2011 v 16:03
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
2

Testovací jednotka by měla pracovat v izolovaném režimu, takže budete muset izolovat vaše závislé prostředky a toto provést pomocí izolaci framework (zesměšňovat rámce). Společné rámce pro dědictví, Windows systémy jsou DevMagicFake , min , Rhino zesměšňuje , TypeMock .

DevMagicFake budete moci fake DB, takže nebude nutné vytvořit DB nebo dokonce žádný kód ukládat data, protože ukládat data do paměti a můžete získat kdykoliv.

Odpovězeno 07/09/2011 v 16:48
zdroj uživatelem

hlasů
8

K dispozici jsou 2 standardní způsoby, jak se blíží k testu, která závisí na něčem jiném (namítat, volání funkce, atd).

  • Můžete použít vysmívá namísto objekty kód testujete závisí na.
  • Můžete načíst přípravek nebo dělat tvorbu / hovor zkušební sestavy.

Někteří lidé mají rádi „klasických“ unit testů, kde je testován jen „jednotka“ kódu. V těchto případech se obvykle používají se vysmívá a pahýly nahradit závislostí.

Jiné podobné více integračních testů, kde je testována většinu nebo všechny zásobníku volání. V těchto případech můžete použít přípravek, nebo možná dokonce dělat hovory / výtvory ve funkci nastavení.

Obecně byste to udělat jeden test závisí na druhého. Všechny testy by měly:

  • uklidit po sobě
  • je spustitelný v izolaci
  • být spustitelný jako součást sady
  • být konzistentní a opakovatelné

Pokud uděláte jeden test závislý na jiném nemohou být spuštěny v izolaci, a ty jsou také nutí rozkaz testy spustit. Prosazování pořadí v testech není dobré, ve skutečnosti mnoho lidí pocit, že by se náhodně pořadí, ve kterém jsou spouštěny vaše testy.

Odpovězeno 09/09/2011 v 00:09
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more