9 komentáře “Automatické testování odeslání emailu

  1. No především SubEthaMail reálně implementuje SMTP protokol – tudíž pokud vám test projde, znamená to, že vaše aplikace odesílá emaily validně podle SMTP protokolu. Nastavení serveru je stejně věc, kterou v testovacím provozu odchytit nemůžete.

    Wiser je defakto mock objekt – takže se od mock objektu nijak neliší. Na Wiseru vidím dvě základní výhody:

    a) je to mock, který nemusíte psát – protože je už dobře napsán
    b) testuje druhou stranu rozhraní – tzn. otestuje vám, že jste skutečně správně odeslali email SMTP protokolem
    c) je to mock, který není závislý na implementaci odesílací strany rozhraní

    Taky používám SpringFramework, ale než si psát své mocky, radši použiji tenhle.

  2. Coz jaksi nepomuze, protoze v realnem nasazeni muze napriklad dojit k tomu, ze nastavite SMTP server u ktereho druhy den spravce omezi pristum jenom na urcite IP adresy. Nebo Vas zkusebni SMTP server nevyvolava nektere vyjimky, ktere pak realny server vyvolat muze. Atp. atd.

    A cim se vlastne podstatne lisi tento vas SMTP server od Mock objektu? Nejedna se vlastne jenom o sofistifikovany Mock objekt?

    Tim nechci rict, ze by tento clanek nebyl prinosny. Urcite je super, ze jste informoval o teto moznosti, jenom chci upozornit ze se jedna o sofistifikovany Mock objekt a v realnem nasazeni, muze vyvstat spousta dalsich problemu.

    Btw. ja takoveto problemy resim pouzitim prislusneho API, otestovani API a spoelhnutim na spravnost API. Tudiz napriklad na E-mail pouzivam springframwork, na to mam udelane testy. V aplikaci pak mockuju objekty tohoto api, ktere jsou vyrazne jednodussi.

    Protoze pouzite API sprigframeworku pozivam v stale stejne verzi, nejsem nucen delat testy na neho automatizovane, tak jak je tomu v aplikaci.

  3. Ano je to tak. Nicméně tento způsob se mi zdá poměrně stabilní a přesto vypovídající. Otázka je, jestli neexistuje v Javě také nějaká lightweight in memory implementace pro FTP stejně jako SubEthaSMTP Server pro maily. Pak by i pro FTP existovala rozumná cesta pro testování.

  4. Testovat odesilani emailu je krehkou zalezitosti, jako kazda jina komunikace se singletonem. Ten samy problem muze nasta pri komunikaci pres FTP napr.

  5. Díky za užitečnou věcičku. Škoda, že zrovna teď nepotřebuju žádné odesílání otestovat, hned bych si to vyzkoušel. Však to časem určitě příjde :).

  6. Presne tenhle pristup ukazuje, ze kdyz vyvojar chce, tak muze automaticky testovat prakitcky jakoukoliv cast sveho kodu a to i v pripade integracniho scenare s posilanim mailu. Skoda,ze ochota vyvojaru hledat reseni pro automatcike testy, jako je treba tento, je mala. Kazdopadne diky, az mi zase nekdo bude tvrdit, jak je tezke neco podobneho testovat, tak mu tenhle clanek omplatim o hlavu ;-).

  7. Díky za tip. Tohle je jedna z těch věcí, které kdyby člověka napadly, že jdou takto dělat, už to dávno používá. Díky za otevření očí 🙂