» »

C# testiranje

C# testiranje

zacetnik11 ::

Pozdravljeni
Potreboval bi pomoč in sicer pri izdelavi test Razreda za spodnjo kot.
Koda ni popolna, oziroma ima kakšno napako.

Hvala za pomoč.
public pravokotniTrikotnik
	{

        private double a;
        private double b;

        public pravokotniTrikotnik(double a, double b)
        {
            if(a < 0 || b < 0)
            {
                return error;
            }
                this.a=a;
                this.b=b;
        }

        public double ploscina()
        {
             get()
            {
            return(a*b)/2;
            }
        }
        
        private double izracunStranic()
        {
            return Math.Sqrt();
        }
        
        public double obseg()
        {
            get()
            {
            return a + b + izracunStranic();
            }
        }
	}

darkolord ::

Kakšne so napake in kako si jih poskušal odpraviti?

zacetnik11 ::

Pozdravljen

Tole je primer razreda, za katera morem napisat testni razred, in potrebujem pomoč.

Hvala za odgovor.

darkolord ::

OK, kakšno pomoč? Kje se ti zaustavi?

Yacked2 ::

tole je sigurno narobe: return Math.Sqrt();
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

darkolord ::

Že v prvi vrstici je napaka ...

zacetnik11 ::

Ja v prvi vrstici manja class, ker sem prepisoval iz testa, prav zaradi tega je tudi napaka v Matk.Sqrt, ker nisem prepisal vsega.

Yacked2 ::

In mi naj ugibamo iz kje si to potegnil ? Popravi, tako da bo vsaj na prvi pogled pravilno!
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

zacetnik11 ::

Hvala za odgovore.

To je samo primer izpita, za katerega je potrebno naredit testmi razred.
OK, ker nimam vseh točnih podatkov, mogoče ima kdo kakšen enostavnejši razred in zanj testni razred, da bi se lahko naučil?

Hvala za vso pomoč.

sebastjan28 ::

Zakaj raje ne poiščeš na netu nekaj na temo osnov Unit Testiranja v C#

npr:
https://msdn.microsoft.com/en-us/librar...

Drugače pa na grobo: Za vsako public metodo, boš moral napišati vsaj en unit test, ki bo pokril določen scenarij. Možno je sicer testirati tudi protected metode, vendar je to že druga zgodba,...

Zgodovina sprememb…

zacetnik11 ::

Pozdravljeni,

sedaj sem napisal testClass za dani razred, ali bi lahko kdo samo preveril, če je vse pravilno napisano, ali šekaj manjka.

Hvala za pomoč.

//razred pravokotniTrikotnik
public class pravokotniTrikotnik
{
	
        private double a;
        private double b;
 
        public pravokotniTrikotnik(double a, double b)
        {
            if(a < 0 || b < 0)
            {
                return error;
            }
                this.a=a;
                this.b=b;
        }
 
        public double ploscina()
        {
             get()
            {
            return(a*b)/2;
            }
        }
         
        private double izracunStranic()
        {
            return Math.Sqrt(a * a + b * b);
        }
         
        public double obseg()
        {
            get()
            {
            return a + b + izracunStranic();
            }
        }
    
}
//Testni razred za razred pravokotniTrikotnik

public class pravokotniTrikotnikTest : pravokotniTrikotnik
{
    public pravokotniTrikotnikTest()
	{
	}

    [TestMethod]
    public void Test_ploscina_1()
    {
        pravokotniTrikotnikTest testEna = new pravokotniTrikotnikTest(3, 2);

        double result = testEna.ploscina();
        Assert.AreEqual(3, result);
    }

    [TestMethod]
    public void Test_ploscina_2()
    {
        pravokotniTrikotnikTest testEna = new pravokotniTrikotnikTest(4, 3);

        double result = testEna.ploscina();
        Assert.AreEqual(12, result);
    }

    [TestMethod]
    public void Test_obseg_1()
    {
        pravokotniTrikotnikTest testEna = new pravokotniTrikotnikTest(4, 3);

        double result = testEna.obseg();
        Assert.AreEqual(12, result);
    }

    [TestMethod]
    public void Test_obseg_2()
    {
        pravokotniTrikotnikTest testEna = new pravokotniTrikotnikTest(3, 2);

        double result = testEna.obseg();
        Assert.AreEqual(3.60, result);
    }
}

Fuks ::

Zakaj enostavno ne vpišeš kode v VS in poženeš? Tvoj pristop ima nekaj napak:
- Testni razred naj ne razširja testiranega razreda (sploh pa si narobe razširil, saj nisi poskrbel za parametre konstruktorja)
- V tesnih metodah instanciraj testiran razred (se pravi new PravokotniTrikotnik in ne new pravokotniTrikotnikTest()).
- Imena razredov se pišejo z veliko začetnico ;)
- Drugače so testne metode OK, lahko bi testiral še kakšen robni primer

Yacked2 ::

Če boš tako testiral je isto kot da bi ugotavljal ali se lahko deli z 0: 5/1 = 5, 4/2 = 2, okej, z nič lahko delimo.

Namesto 3, 2 raje poiskusi -3, -2, 0, 0 itd...
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[Java-matematika] Računanje relativnega horizontalnega in vertikalnega kota v 3D

Oddelek: Programiranje
5943 (779) zavtom
»

problem s programiranjem ulomka

Oddelek: Programiranje
191601 (1041) KaRkY
»

Java Objekti

Oddelek: Programiranje
102110 (1804) Mavrik
»

Želvica Logo [Java]

Oddelek: Programiranje
151775 (1270) medobear
»

Java

Oddelek: Programiranje
71536 (1434) LukaVi

Več podobnih tem