WebHU - Programozási kérdések és válaszok

Megosztott egységtesztek az MSTesttel

Körülbelül 5-6 jelentésem van, felépítésük megegyezik, a Watin segítségével mindegyik jelentést tesztelem.

Van egy közös tesztem, "ReportBaseTests"-nek hívom.

    public class ReportBaseTests
    {
        public string MenuName { get; set; }

        public ReportBaseTests(string name)
        { this.MenuName = name; }

        [TestMethod]
        public void Perform_Invalid_Date_Range()
        {
        }
    }

de minden tesztem során...

    [TestClass]
    public class Report1Tests : ReportBaseTests
    {
        public Report1Tests()
            : base("Report 1")
        { }
    }

Ez működik... minden jelentésnek külön Perform_Invalid_date_range lesz, és ez egy másik oldalra fog kerülni... Reméltem, hogy valakinek van jobb módja ennek, mivel külön "nem futtatható" tesztet is készít a megosztott teszt, mivel nem vettem fel a [TestClass]-t

Most már tudom, hogy használhatom a NUnit-et és átadhatom az argumentumokat, de egyelőre maradok az MSTestnél


Válaszok:


1

Ha szeretné, hozzáadhat TestContext támogatást a tesztekhez, és A ReportBaseTests.Perform_Invalid_Date_Range() elemzi a TestContext. FullyQualifiedTestClassName. Egy egyszerű tesztnek azt hiszem, ez már több.

A megoldáshoz: csak írja be a [TestClass] attribútumot a ReportBaseTests értékre, majd jelölje be a ReportBaseTests értéket abstract-ként. A "nem futtatható" tesztek eltűnnek.

10.10.2011
  • Úgy tűnik, ez csak akkor működik, ha a [TestClass] díszített osztályok ugyanabban az összeállításban vannak, mint az alap. Ellenkező esetben nem jelennek meg tesztek a Test Explorerben. :/ 26.06.2015
  • Új anyagok

    A rádiógomb ellenőrzött eseményének használata a jQueryben
    Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

    Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
    Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

    Miért érdemes elkezdeni a kódolást 2023-ban?
    01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

    🎙 Random Noise #2  – Örökbefogadás és hit
    az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

    A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
    A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

    5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
    Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

    Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
    A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..